Me encontré con un problema mientras trabajaba con Selenium. Para mi proyecto, tengo que usar Chrome. Sin embargo, no puedo conectarme a ese navegador después de iniciarlo con Selenium.
Por alguna razón, Selenium no puede encontrar Chrome por sí mismo. Esto es lo que sucede cuando intento iniciar Chrome sin incluir una ruta:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome() # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 58, in start
and read up at http://code.google.com/p/selenium/wiki/ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'ChromeDriver executable needs to be available in the path. Please download from http://code.google.com/p/selenium/downloads/list and read up at http://code.google.com/p/selenium/wiki/ChromeDriver'
Para resolver este problema, incluí la ruta de Chromium en el código que inicia Chrome. Sin embargo, el intérprete no puede encontrar un socket para conectarse:
Traceback (most recent call last):
File "./obp_pb_get_csv.py", line 73, in <module>
browser = webdriver.Chrome('/usr/bin/chromium') # Get local session of chrome
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/webdriver.py", line 46, in __init__
self.service.start()
File "/usr/lib64/python2.7/site-packages/selenium/webdriver/chrome/service.py", line 64, in start
raise WebDriverException("Can not connect to the ChromeDriver")
selenium.common.exceptions.WebDriverException: Message: 'Can not connect to the ChromeDriver'
También intenté resolver el problema iniciando Chrome con:
cromo --remote-shell-port = 9222
Sin embargo, esto tampoco funcionó.
PD. Aquí hay información sobre mi sistema:
www-client: cromo 15.0.874.121 dev-lang: python 2.7.2-r3 Selenium 2.11.1 SO: GNU / Linux Gentoo Kernel 3.1.0-gentoo-r1
Respuestas:
Debe asegurarse de que el binario ChromeDriver independiente (que es diferente del binario del navegador Chrome) esté en su ruta o esté disponible en la variable de entorno webdriver.chrome.driver.
consulte http://code.google.com/p/selenium/wiki/ChromeDriver para obtener información completa sobre cómo conectar las cosas.
Editar:
Correcto, parece ser un error en los enlaces de Python wrt al leer el binario chromedriver de la ruta o la variable de entorno. Parece que si chromedriver no está en su camino, debe pasarlo como un argumento para el constructor.
fuente
Para Linux
chromium-browser -version
sudo apt-get install chromium-browser
/usr/bin
directoriosudo mv chromedriver /usr/bin
/usr/bin
directoriocd /usr/bin
sudo chmod a+x chromedriver
marcarlo como ejecutable.finalmente puedes ejecutar el código.
fuente
Mac OSX solamente
Una manera más fácil de comenzar (suponiendo que ya tenga instalado homebrew , que si no, debe hacerlo primero y dejar que homebrew mejore su vida) es simplemente ejecutar el siguiente comando:
Eso debería poner el chromedriver en tu camino y deberías estar listo.
fuente
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
brew doctor
y ver si eso encuentra algo.Para ventanas
ChromeDriver descarga desde este enlace directo o conseguir la última versión de esta página .
Pega el
chromedriver.exe
archivo en tuC:\Python27\Scripts
carpeta.Esto debería funcionar ahora:
fuente
Para ventanas,
chromedriver.exe
coloque debajo de<Install Dir>/Python27/Scripts/
fuente
/usr/lib/
o en otro lugar?PATH
no fue suficiente, ponerlo/Scripts/
donderide.py
se trabajó.Hay 2 formas de ejecutar las pruebas de Selenium python en Google Chrome. Estoy considerando Windows (Windows 10 en mi caso):
Requisito previo: descargue el último controlador de Chrome desde: https://sites.google.com/a/chromium.org/chromedriver/downloads
Camino 1:
i) Extraiga el archivo zip descargado en un directorio / ubicación de su elección
ii) Establezca la ruta ejecutable en su código de la siguiente manera:
Camino 2:
i) Simplemente pegue el chromedriver.exe en / Python / Scripts / (En mi caso, la carpeta era: C: \ Python36 \ Scripts)
ii) Ahora escriba el código simple de la siguiente manera:
fuente
Para el IDE de Windows:
Si su ruta no funciona, puede intentar agregarla
chromedriver.exe
a su proyecto, como en esta estructura de proyecto.Entonces deberías cargar el
chromedriver.exe
en tu archivo principal. En cuanto a mí, he cargado eldriver.exe
endriver.py
...
significadriver.py's
directorio superior.
significa el directorio dondedriver.py
se encuentra elEsperamos que esto sea útil.
fuente