python - No se puede usar el controlador de cromo para Selenium
google-chrome python-3.x (9)
Cromo
import os
from selenium import webdriver
chromedriver = "C://chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
driver =webdriver.Chrome(chromedriver)
Tengo problemas para utilizar el controlador Chrome para Selenium. Tengo el chromedriver descargado y guardado en C: / Chrome:
driver = webdriver.Chrome(executable_path="C:/Chrome/")
Usando eso me da el siguiente error:
Traceback (most recent call last):
File "C:/Python33/lib/subprocess.py", line 1105, in _execute_child
startupinfo)
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Python33/lib/site-packages/selenium/webdriver/chrome/service.py", line 63, in start
self.service_args, env=env, stdout=PIPE, stderr=PIPE)
File "C:/Python33/lib/subprocess.py", line 817, in __init__
restore_signals, start_new_session)
File "C:/Python33/lib/subprocess.py", line 1111, in _execute_child
raise WindowsError(*e.args)
PermissionError: [WinError 5] Access is denied
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:/Users/Wilson/Dropbox/xxx.py", line 71, in <module>
driver = webdriver.Chrome(executable_path="C:/Chrome/")
File "C:/Python33/lib/site-packages/selenium/webdriver/chrome/webdriver.py", line 59, in __init__
self.service.start()
File "C:/Python33/lib/site-packages/selenium/webdriver/chrome/service.py", line 68, 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://chromedriver.storage.googleapis.com/index.html
Cualquier ayuda sería apreciada.
Además de la respuesta seleccionada (ruta de estilo de Windows):
driver = webdriver.Chrome(executable_path=r"C:/Chrome/chromedriver.exe")
Tenga en cuenta que la r delante de "C: / Chrome / chromedriver.exe" hace que esta cadena sea una cadena en bruto.
En caso de que no desee utilizar una cadena en bruto, debería escapar de la barra como en su forma //, esto se convertiría en:
driver = webdriver.Chrome(executable_path="C://Chrome//chromedriver.exe")
O puedes reemplazar el / con un /, obtendrás esto:
driver = webdriver.Chrome(executable_path="C:/Chrome/chromedriver.exe")
Cuando llame a Selenio o a cualquier biblioteca de automatización de pruebas, deberá agregar esto. El código aquí está en Python
pero esto también se puede hacer en Java
y Ruby
.
options = webdriver.ChromeOptions()
options.binary_location = ''/usr/bin/chromium-browser''
#All the arguments added for chromium to work on selenium
options.add_argument("--no-sandbox") #This make Chromium reachable
options.add_argument("--no-default-browser-check") #Overrides default choices
options.add_argument("--no-first-run")
options.add_argument("--disable-default-apps")
driver = webdriver.Chrome(''/home/travis/virtualenv/python2.7.9/chromedriver'',chrome_options=options)
Debe especificar la ruta del archivo ejecutable, no la ruta del directorio que contiene el archivo ejecutable.
driver = webdriver.Chrome(executable_path=r"C:/Chrome/chromedriver.exe")
Para Debian / Ubuntu - funciona:
instala Google Chrome para Debian / Ubuntu:
sudo apt-get install libxss1 libappindicator1 libindicator7
wget https://dl.google.com/linux/direct/google-chrome-
stable_current_amd64.deb
sudo dpkg -i google-chrome*.deb
sudo apt-get install -f
Instala ChromeDriver:
wget -N http://chromedriver.storage.googleapis.com/2.26/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
Instale Selenium:
pip install -U selenium
Selenio en Python:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get(''https://www.google.co.in/'')
Para ventanas
Descargar webdriver desde:
http://chromedriver.storage.googleapis.com/2.9/chromedriver_win32.zip
Pegue el archivo chromedriver.exe en la carpeta "C: / Python27 / Scripts".
Esto debería funcionar ahora.
from selenium import webdriver
driver = webdriver.Chrome()
Simplemente coloque el chromedriver.exe en su carpeta de Python (en mi caso: C: / Python27) y use el código mencionado a continuación que funcionará para ustedes
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("URL")
Todo lo que necesitas hacer es pegar el Chromedriver.exe en la carpeta python36-32. Y puedes usarlo Simplemente como:
from selenium import webdriver
driver = webdriver.Chrome()
No hay necesidad de pegar ruta una y otra vez.
O
Puedes usar:
driver = webdriver.Chrome(executable_path="C:/Chrome/chromedriver.exe")
Para linux
1. Comprueba que has instalado la última versión de chrome browser-> "chromium-browser -version"
2. Si no, instale la última versión de chrome "sudo apt-get install chromium-browser"
3. Obtenga la versión apropiada del controlador chrome en http://chromedriver.storage.googleapis.com/index.html
4. Descomprima el archivo chromedriver.zip.
5. Mueva el archivo al directorio / usr / bin sudo mv chromedriver / usr / bin
6. Vaya al directorio / usr / bin y necesitará ejecutar algo como " chmod a + x chromedriver " para marcarlo como ejecutable.
7. Finalmente puedes ejecutar el código.
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.google.com")
display.stop()