WebDriverException: error desconocido: no se puede encontrar el error binario de Chrome con Selenium en Python para versiones anteriores de Google Chrome
Por razones de compatibilidad, prefiero usar la versión 55.0.2883.75 de Chrome con Chromedriver v. 2.26. Descargué la versión anterior de Chrome desde https://www.slimjet.com/chrome/google-chrome-old-version.php y Chromedriver 2.26 desde https://chromedriver.storage.googleapis.com/index.html?path =2,26/ .
Estoy usando el siguiente código para intentar configurar mi ubicación binaria de Chrome:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome('chromedriver.exe', chrome_options = options)
Sin embargo, cuando intento iniciar WebDriver, Python devuelve el siguiente error:
WebDriverException: unknown error: cannot find Chrome binary
(Driver info: chromedriver=2.26.436362
(5476ec6bf7ccbada1734a0cdec7d570bb042aa30),platform=Windows NT 10.0.14393 x86_64)
Intenté buscar preguntas y respuestas similares, pero hasta ahora no he tenido suerte.
Este mensaje de error...
WebDriverException: unknown error: cannot find Chrome binary
...implica que ChromeDriver no pudo encontrar el binario de Chrome en la ubicación predeterminada de su sistema.
Según ChromeDriver - Requisitos :
El servidor espera que tengas Chrome instalado en la ubicación predeterminada para cada sistema:
SO Ubicación esperada de Chrome linux /usr/bin/google-chrome 1 Mac /Aplicaciones/Google\ Chrome.app/Contents/MacOS/Google\ Chrome Windows XP %HOMEPATH%\Configuración local\Datos de aplicación\Google\Chrome\Application\chrome.exe Windows Vista y más reciente C:\Users%NOMBRE DE USUARIO%\AppData\Local\Google\Chrome\Application\chrome.exe 1 Para sistemas Linux, se espera que ChromeDriver
/usr/bin/google-chrome
sea un enlace simbólico al binario de Chrome real .
Usar un ejecutable de Chrome en una ubicación no estándar
Sin embargo, también puedes anular la ubicación binaria predeterminada de Chrome de la siguiente manera:
Para utilizar la versión 55.x de Chrome instalada en una ubicación no estándar a través de ChromeDriver v2.26 , puede utilizar el siguiente código:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.binary_location = "C:\\Program Files\\Chrome\\chrome64_55.0.2883.75\\chrome.exe"
driver = webdriver.Chrome(chrome_options = options, executable_path=r'C:\path\to\chromedriver.exe')
driver.get('http://google.com/')
print("Chrome Browser Invoked")
driver.quit()
Documentos relacionados
Referencia
Puede encontrar una discusión detallada en:
- ¿Se necesita la instalación de Chrome o solo Chromedriver cuando se usa Selenium?
Lo que me pasó es que no tenía instalado Chrome, el navegador principal. Descargue el navegador y solucionará este problema.
El uso de una versión anterior del controlador Chrome con la última versión local de Google Chrome me dio la misma excepción.
Simplemente vaya a la página de ChromeDriver y asegúrese de tener la última versión.