Mensaje de error: "El ejecutable 'chromedriver' debe estar disponible en la ruta"

Resuelto steady_progress asked hace 9 años • 35 respuestas

Estoy usando Selenium con Python y descargué 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, lo descomprimí en mi carpeta de descargas. Luego puse la ruta al binario ejecutable (C:\Users\michael\Downloads\chromedriver_win32) en la variable de entorno "Ruta".

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 la ruta... ¿qué está pasando aquí?

steady_progress avatar Apr 25 '15 05:04 steady_progress
Aceptado

Veo que las discusiones todavía hablan sobre la forma antigua de configurar Chromedriver descargando el binario y configurando la ruta manualmente.

Esto se puede hacer automáticamente usando webdriver-manager

pip install webdriver-manager

Ahora el código anterior en la pregunta funcionará simplemente con el cambio a continuación,

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

driver = webdriver.Chrome(ChromeDriverManager().install())

Lo mismo se puede utilizar para configurar Firefox, Edge y, por ejemplo, los archivos binarios.

Navarasu avatar Oct 18 '2018 16:10 Navarasu

Puede probar si realmente está en la RUTA, si abre un cmd y escribe chromedriver(asumiendo que el ejecutable de Chromedriver todavía tiene este nombre) y presiona Enter. Si Starting ChromeDriver 2.15.322448aparece, la RUTA está configurada correctamente y hay algo más que va mal.

Alternativamente, puedes usar una ruta directa al controlador Chrome como esta:

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

Entonces en tu caso específico:

 driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
lmNt avatar Apr 24 '2015 22:04 lmNt

En Ubuntu :

sudo apt install chromium-chromedriver

En Debian :

sudo apt install chromium-driver

En macOS instale Homebrew y luego haga

brew install --cask chromedriver
 avatar Oct 15 '2019 00:10

Para Linux y OSX

Paso 1: descarga el controlador Chrome

# You can find more recent/older versions at http://chromedriver.storage.googleapis.com/
# Also make sure to pick the right driver, based on your Operating System
wget http://chromedriver.storage.googleapis.com/81.0.4044.69/chromedriver_mac64.zip

Para debian:wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip

Paso 2: agregue chromedriver a/usr/local/bin

unzip chromedriver_mac64.zip
sudo mv chromedriver /usr/local/bin
sudo chown root:root /usr/local/bin/chromedriver
sudo chmod +x /usr/local/bin/chromedriver

Ahora deberías poder ejecutar

from selenium import webdriver

browser = webdriver.Chrome()
browser.get('http://localhost:8000')

sin ningún problema

Giorgos Myrianthous avatar May 03 '2020 18:05 Giorgos Myrianthous

Tenemos que agregar una cadena de ruta, comenzar con la letra rantes de la cadena, para una cadena sin formato. Probé de esta manera y funciona.

driver = webdriver.Chrome(r"C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
James0007 avatar Oct 11 '2017 22:10 James0007