Estoy usando selenio con python y he descargado el chromedriver para mi computadora con Windows desde este sitio: http://chromedriver.storage.googleapis.com/index.html?path=2.15/
Después de descargar el archivo zip, descomprimí el archivo zip en mi carpeta de descargas. Luego puse la ruta al binario ejecutable (C: \ Users \ michael \ Downloads \ chromedriver_win32) en la "Ruta" de la variable de entorno.
Sin embargo, cuando ejecuto el siguiente código:
from selenium import webdriver
driver = webdriver.Chrome()
... sigo recibiendo el siguiente mensaje de error:
WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/selenium/wiki/ChromeDriver
Pero, como se explicó anteriormente, el ejecutable está (!) En el camino ... ¿qué está pasando aquí?
python
selenium
selenium-chromedriver
progreso estable
fuente
fuente
chromedriver.exe
en el mismo directorio que su script Python.choco install chromedriver
.Respuestas:
Puede probar si realmente está en la RUTA, si abre un cmd y escribe
chromedriver
(suponiendo que su ejecutable chromedriver todavía se llame así) y presione Entrar. SiStarting ChromeDriver 2.15.322448
aparece, la RUTA está configurada adecuadamente y hay algo más que sale mal.Alternativamente, puede usar una ruta directa al controlador de cromo como esta:
Entonces, en su caso específico:
fuente
pip
?Veo que las discusiones aún hablan sobre la antigua forma de configurar Chromeedriver descargando el binario y configurando la ruta manualmente.
Esto se puede hacer automáticamente usando webdriver-manager
Ahora el código anterior en la pregunta funcionará simplemente con el siguiente cambio,
Lo mismo se puede usar para configurar Firefox, Edge y binarios.
fuente
Misma situación con pycharm community edition, por lo tanto, en cuanto a cmd, debe reiniciar su ide para recargar las variables de ruta. Reinicia tu ide y debería estar bien.
fuente
En Linux (Ubuntu o Debian):
En macOS instale https://brew.sh/ luego haga
fuente
driver = webdriver.Chrome()
funcionó bien para mí.Tenemos que agregar una cadena de ruta, comience con la letra
r
antes de la cadena, para la cadena sin procesar. Probé de esta manera, y funciona.fuente
Algunos aportes / aclaraciones adicionales para futuros lectores de este hilo, para evitar jugar con el entorno PATH. variable a nivel de Windows y reinicio del sistema de Windows: (copia de mi respuesta de https://stackoverflow.com/a/49851498/9083077 según corresponda a Chrome):
(1) Descargue chromedriver (como se describió en este hilo anteriormente) y coloque el chromedriver.exe (descomprimido) en X: \ Folder \ of \ your \ choice
(2) Ejemplo de código de Python:
Notas: (1) Puede tomar alrededor de 5 segundos para que el código de muestra (en la respuesta mencionada) abra el navegador Firefox para la URL especificada. (2) La consola de Python mostraría el siguiente error si no hay un servidor que ya se esté ejecutando en la URL especificada o sirva una página con el título que contiene la cadena 'Django': afirme 'Django' en browser.title AssertionError
fuente
Para Linux y OSX
Paso 1: descarga chromedriver
Paso 2: agregue el controlador cromado a
/usr/local/bin
Ahora deberías poder correr
sin ningún problema
fuente
Cuando descomprima el chromedriver, especifique una ubicación exacta para poder rastrearlo más tarde. A continuación, obtendrá el controlador cromado adecuado para su sistema operativo y luego lo descomprimirá en una ubicación exacta, que podría proporcionarse como argumento más adelante en su código.
wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip unzip chromedriver_linux64.zip -d /home/virtualenv/python2.7.9/
fuente
/usr/local/bin/
instalar a nivel mundial.Si está trabajando con el robot framework RIDE. Luego puede descargar
Chromedriver.exe
desde su sitio web oficial y mantener este archivo .exe en elC:\Python27\Scripts
directorio. Ahora mencione esta ruta como su variable de entorno, por ejemplo.C:\Python27\Scripts\chromedriver.exe
.Reinicie su computadora y vuelva a ejecutar el mismo caso de prueba. No volverá a tener este problema.
fuente
De acuerdo con las instrucciones , debe incluir la ruta a ChromeDriver al crear instancias de webdriver.
fuente
Antes de agregar el controlador cromado a su ruta, asegúrese de que sea la misma versión que su navegador.
De lo contrario, deberá hacer coincidir las versiones: actualizar / degradar su Chrome y actualizar / degradar su controlador web.
Recomiendo actualizar su versión de Chrome tanto como sea posible y que coincida con el controlador web.
Para actualizar Chrome:
help
->About Google Chrome
Luego descargue la versión compatible desde aquí: http://chromedriver.chromium.org/downloads .
Nota: ¡El nuevo controlador de cromo no siempre coincide con la versión más nueva de Chrome!
Ahora puedes agregarlo a la RUTA:
cree una nueva carpeta en algún lugar de su computadora, donde colocará sus controladores web. Creé una carpeta nombrada
webdrivers
enC:\Program Files
Copie la ruta de la carpeta. En mi caso fue
C:\Program Files\webdrivers
haga clic derecho en
this PC
->properties
:Advanced System settings
Environment Variables
System variables
, haga clic enpath
y haga clicedit
new
¡Eso es! Usé pycharm y tuve que volver a abrirlo. Quizás sea lo mismo con otros IDEs o terminales.
fuente
Podría intentar reiniciar la computadora si no funciona después de estar seguro de que PATH está configurado correctamente.
En mi caso en Windows 7, siempre recibí el error en WebDriverException: Mensaje: para chromedriver, gecodriver, IEDriverServer. Estoy bastante seguro de que tengo el camino correcto. Reinicie la computadora, todo el trabajo
fuente
En mi caso, este error desaparece cuando copio el archivo chromedriver a la carpeta c: \ Windows. Es porque el directorio de Windows está en la ruta por la cual la secuencia de comandos de Python verifica la disponibilidad del controlador cromado.
fuente
Si está utilizando un intérprete remoto, también debe verificar si su RUTA ejecutable está definida. En mi caso, cambiar del intérprete Docker remoto al intérprete local resolvió el problema.
fuente
Encontré el mismo problema que el tuyo. Estoy usando PyCharm para escribir programas, y creo que el problema radica en la configuración del entorno en PyCharm en lugar del sistema operativo. Resolví el problema yendo a la configuración del script y luego editando la RUTA en las variables de entorno manualmente. ¡Espero que esto te sea útil!
fuente
Agregue el controlador web (chromedriver.exe o geckodriver.exe) aquí C: \ Windows . Esto funcionó en mi caso
fuente
La mejor manera es quizás obtener el directorio actual y agregarle la dirección restante. Al igual que este código (Word en Windows. En Linux puede usar algo línea pwd):
webdriveraddress = str(os.popen("cd").read().replace("\n", ''))+'\path\to\webdriver'
fuente
Cuando descargué chromedriver.exe, simplemente lo moví a la carpeta PATH C: \ Windows \ System32 \ chromedriver.exe y tuve exactamente el mismo problema.
Para mí, la solución era simplemente cambiar la carpeta en PATH, así que la moví a la carpeta bin de Pycharm Community que también estaba en PATH. ex:
fuente
Tuve este problema con Mac Mojave ejecutando Robot test framework y Chrome 77. Esto resolvió el problema. Felicitaciones a @Navarasu por señalarme el camino correcto.
A continuación, en el indicador de Python:
Esto lleva al siguiente error:
~/chromedriver/chromedriver
Abrir
~/.bash_profile
con editor y agregar:Abrir nueva ventana de terminal, ta-da 🎉
fuente
Tuve este problema en Webdriver 3.8.0 (Chrome 73.0.3683.103 y ChromeDriver 73.0.3683.68). El problema desapareció después de que lo hice.
actualizar Webdriver a 3.14.1.
fuente
La mejor manera segura es aquí:
Descargue y descomprima chromedriver y coloque 'chromedriver.exe' en C: \ Python27 \ Scripts y luego no necesita proporcionar la ruta del controlador, solo
Has terminado sin necesidad de agregar rutas ni nada
fuente
Verifique la ruta de su controlador de Chrome, es posible que no lo obtenga desde allí. Simplemente copie y pegue la ubicación del controlador en el código.
fuente
(para usuarios de Mac) Tengo el mismo problema, pero lo resolví de esta manera simple: debe colocar su chromedriver.exe en la misma carpeta que el script ejecutado y, en Pyhton, escriba estas instrucciones:
importar os
os.environ ["PATH"] + = os.pathsep + r'X: / your / folder / script / '
fuente