Estoy usando el selenio con python y he descargado el chromedriver para mi ordenador con windows de este sitio: http://chromedriver.storage.googleapis.com/index.html?path=2.15/

Después de descargar el archivo zip, he descomprimido el archivo zip a mi carpeta de descargas. Luego me puse la ruta de acceso al ejecutable binario (C:\Users\michael\Downloads\chromedriver_win32) en la Variable de Entorno «Path».

Sin embargo, al ejecutar el siguiente código:

  from selenium import webdriver

  driver = webdriver.Chrome()

… Sigo recibiendo el mensaje de error siguiente:

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 archivo ejecutable(!) en el camino … ¿qué está pasando aquí?

  • Intente copiar el chromedriver.exe en el mismo directorio que el script de Python.
  • Instalación a través de Chocolate va a añadir a la ruta, choco install chromedriver.

16 Comentarios

  1. 121

    Puede probar si en realidad está en el CAMINO, si se abre un cmd y escribir en chromedriver (asumiendo que su chromedriver ejecutable todavía se denomina como este) y pulse Enter. Si Starting ChromeDriver 2.15.322448 aparece, la RUTA de acceso está configurado correctamente y hay algo que va mal.

    Alternativamente, usted puede utilizar un camino directo a la chromedriver como este:

     driver = webdriver.Chrome('/path/to/chromedriver') 

    Así que en tu caso concreto:

     driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
    • Gracias por la respuesta: «a Partir de ChromeDriver 2.15.322448» hizo aparecer. «Sólo se permiten las conexiones.» también apareció. … Pero supongo que esto está bien? …. Una cosa que me pregunto es esto: En el sitio web sólo había una versión de 32 bits de chromedriver disponible …. pero esto debería funcionar bien con mi windows de 64 bits, ¿no es cierto?
    • Sí, está bien. Y esto funciona con Windows de 64 bits; lo estoy usando yo. Sospecho que tal vez el selenio versión puede causar el problema? ¿Has instalado? Has instalado usando pip?
    • sí, he instalado usando pip
    • Has probado a utilizar la ruta directa hacia el conductor cuando se llama a la webdriver como mencioné en la respuesta? Falló con el mismo error?
    • Genial! Lo he probado ahora y funcionó. Muchas gracias!! … ¿Usted también tiene alguna idea de por qué esta forma trabajado y el otro no (porque realmente no tiene sentido para mí)?
    • No, en realidad yo soy de las ideas de por qué esto no funciona. Debe haber trabajado para ambos casos. Pero tal vez hay un poco mal. Difícil decir sin verlo directamente en su PC. De todos modos, me alegro de que podría ayudar.
    • Cuando la adición de webdrivers a su CAMINO, no importa el sistema operativo, incluir sólo el directorio donde su webdriver se almacena, no el ejecutable. Ejemplo: PATH=$PATH:/ruta/a/webdriver/carpeta, no se PATH=$PATH:/ruta/a/webdriver/chromedriver. Además, al utilizar la RUTA de acceso es mucho más portátil que pasar la ubicación en su webdriver.Chrome() la llamada, como podemos suponer siempre que el PATH es correcto siempre que su código se ejecuta, pero no podemos asumir su estructura de archivos está configurado de forma idéntica.
    • Muchas gracias. Me gustaría que lo había puesto como una respuesta. Esto funcionó para mí.
    • Hey, steady_progress. Yo estoy en una situación similar demasiado, pero para mí @lmNt ‘s respuesta no trabajo. Me parece no puede modificar correctamente mi CAMINO variable cualquiera. ¿Alguien tiene algún consejo?
    • trató de utilizar la misma solución, pero conseguir que este error: WebDriverException: Mensaje: chromedriver.exe’ ejecutable puede tener permisos incorrectos. Por favor, consulte sites.google.com/a/chromium.org/chromedriver/home

  2. 41

    Puedo ver las discusiones todavía hablar de la vieja manera de configurar chromedriver por descarga los binarios y de configuración de ruta de forma manual.

    Esto se puede hacer de forma automática utilizando webdriver-manager

    pip install webdriver-manager

    Ahora el código de arriba en la pregunta que vamos a trabajar simplemente con el siguiente cambio,

    from selenium import webdriver
    from webdriver_manager.chrome import ChromeDriverManager
    
    driver = webdriver.Chrome(ChromeDriverManager().install())

    El mismo puede ser utilizado para configurar Firefox, el Borde y la ie binarios

    • Sigue recibiendo el mismo error..
    • Ningún módulo denominado ‘webdriver_manager’
    • módulo de python es la versión base. Si Usted está recibiendo ningún módulo de error, es necesario comprobar la versión de python dependencia del módulo. Todavía muchos módulos no son liberados para 3.7. Pruebe con 3.6 Python.
    • con todo el debido respeto, ¿por qué iba alguien a seguir algo de 3.6 cuando la corriente es de 3.7. La próxima vez sería bueno decir explícitamente que es 3,6 …. Gracias
    • Este trabajó para mí. Gracias.
    • Finalmente algo que funcionaba con macosx Sierra alta.
    • esto es impresionante como se mantiene hasta la fecha también

  3. 11

    Misma situación con pycharm edición de la comunidad, así como para la cmd, debe reiniciar el ide con el fin de volver a cargar la ruta de las variables. Reiniciar el ide y que debería estar bien.

    • Gracias. Yo tenía el mismo problema en Visual Studios. Acabo de reiniciar el IDE y funcionó 🙂 Gracias
    • Trabajó para mí también.
  4. 9

    Tenemos que agregar la cadena de ruta de acceso, comience con la letra r antes de la cadena, para el raw de la cadena. He probado de esta manera, y funciona.

    driver = webdriver.Chrome(r"C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
  5. 3

    Adicionales de entrada/aclaración para los futuros lectores de este hilo,
    para evitar juguetear con el CAMINO de la env. variable en el nivel de Windows y reiniciar el sistema de Windows:
    (copia de mi respuesta de https://stackoverflow.com/a/49851498/9083077 como aplicable a Chrome):

    (1) Descargar chromedriver (como se describe en este hilo anterior) y el lugar (descomprimido) chromedriver.exe en X:\Folder\of\your\choice

    (2) el código de Python muestra:

    import os;
    os.environ["PATH"] += os.pathsep + r'X:\Folder\of\your\choice';
    
    from selenium import webdriver;
    browser = webdriver.Chrome();
    browser.get('http://localhost:8000')
    assert 'Django' in browser.title

    Notas:
    (1) puede tomar alrededor de 5 segundos para el código de ejemplo (en el que se hace referencia respuesta) para abrir el navegador Firefox para la dirección url especificada.
    (2) La consola de python mostraría el siguiente mensaje de error si no hay ningún servidor ya está funcionando en la dirección url especificada o sirviendo una página con el título que contiene la cadena ‘Django’:
    afirmar ‘Django’ en el navegador.título
    AssertionError

  6. 2

    Al descomprimir el chromedriver, por favor especificar una ubicación exacta para que pueda rastrear más tarde. A continuación, usted está recibiendo el chromedriver para su sistema operativo, y luego descomprimir el archivo a una ubicación exacta, lo que podría ser proporcionado como argumento más adelante en el código.

    wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip
    unzip chromedriver_linux64.zip -d /home/virtualenv/python2.7.9/

    • O a /usr/local/bin/ para instalar a nivel mundial.
  7. 2

    Antes de agregar el chromedriver a su ruta, asegúrese de que sea la misma versión de su navegador.

    Si no, usted tendrá que coincidir versiones: actualizar/downgrade que chrome, y upgrade/downgrade su webdriver.

    Me recomienda que actualice su versión de cromo tanto como sea posible, y la coincidencia de la webdriver.

    Actualizar chrome:

    • En la esquina superior derecha, haga clic en los tres puntos.
    • haga clic en help -> About Google Chrome
    • actualización de la versión y reiniciar chrome

    A continuación, descargar la versión compatible desde aquí: http://chromedriver.chromium.org/downloads
    .

    Nota: La última chromedriver no siempre coincide con la versión más reciente de chrome!

    Ahora usted puede añadir a la RUTA de acceso:

    1. crear una nueva carpeta en cualquier lugar de tu ordenador, donde podrá colocar su web en los conductores.
      He creado una carpeta con el nombre webdrivers en C:\Program Files

    2. copiar la ruta de la carpeta. En mi caso fue C:\Program Files\webdrivers

    3. clic derecho en this PC -> properties:

    Mensaje de Error:

    1. A la derecha haga clic en Advanced System settings
    2. Haga clic en Environment Variables
    3. En System variables, haga clic en path y haga clic en edit
    4. haga clic en new
    5. pegue la ruta que has copiado antes de
    6. haga clic en ACEPTAR en todas las ventanas

    Eso es todo! He utilizado pycharm y tuve que volver a abrirlo. Tal vez sea el mismo con otros IDEs o terminales.

  8. 1

    Si usted está trabajando con el robot marco de PASEO. A continuación, puede descargar Chromedriver.exe de su página web oficial y mantener este .archivo exe en C:\Python27\Scripts directorio. Ahora mencionar este camino como su variable de entorno, por ejemplo. C:\Python27\Scripts\chromedriver.exe.

    Reiniciar el equipo y ejecutar el mismo caso de prueba de nuevo. Usted no tendrá este problema de nuevo.

  9. 0

    En mi caso, este error desaparece cuando he copiado chromedriver archivo c:\Windows carpeta. Porque directorio de windows se encuentra en el camino que la secuencia de comandos de python de verificación para chromedriver disponibilidad.

  10. 0

    Si usted está usando remoto intérprete, que también tienen que comprobar si su RUTA de acceso del ejecutable está definido. En mi caso la conmutación de la remota ventana acoplable intérprete a intérprete local resuelto el problema.

  11. 0

    Compruebe que la ruta de acceso para chrome controlador, es posible que no obtenga a partir de allí.
    Simplemente Copiar y pegar la ubicación de los controladores en el código.

  12. 0

    Me encontré con 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 de el sistema operativo.
    He resuelto el problema por ir a script de configuración y, a continuación, la edición de la RUTA de acceso en las variables de entorno de forma manual.
    Esperamos que encuentre útil esta información!

    • otra opción es mover su chromedriver directamente en el directorio /usr/local/bin, entonces no estás molesta con la adición de una ruta de acceso a todos los
  13. 0

    La mejor manera es, quizás, para obtener el directorio actual y añadir el resto de dirigirse a él.
    Como este código(de Word en windows. En linux se puede usar algo de la línea de pwd):

    webdriveraddress = str(os.popen("cd").read().replace("\n", ''))+'\path\to\webdriver'

  14. 0

    Cuando he descargado chromedriver.exe acabo de pasar en la carpeta de la RUTA C:\Windows\System32\chromedriver.exe y tenía exactamente el mismo problema.

    Para mí la solución fue cambiar la carpeta en la RUTA, así que me acabo de mudar a Pycharm Comunidad bin que también estaba en CAMINO.
    ex:

    • C:\Windows\System32\chromedriver.exe –> me Dio excepción
    • C:\Program Files\JetBrains\PyCharm Edición De La Comunidad
      2019.1.3\bin\chromedriver.exe –> funcionaba bien
  15. -3

    (para usuarios de Mac)
    Tengo el mismo problema pero lo resuelto por esta sencilla manera:
    Usted tiene que poner su chromedriver.exe en la misma carpeta para su secuencia de comandos ejecutada y que en pyhton escribir esta instrucción :

    de importación os

    os.environ[«RUTA»] += os.pathsep + r’X:/your/folder/script/’

    • La solución que se propone es exactamente la misma que la de otro usuario. Por favor, preste atención a otras respuestas antes de publicar.
    • No es @walid_data diciendo que esta a punto de salir podría ser sólo para windows problema?

Dejar respuesta

Please enter your comment!
Please enter your name here