web-dev-qa-db-fra.com

Impossible d'utiliser le pilote chromé pour Selenium

Je ne parviens pas à utiliser le pilote Chrome pour Selenium. J'ai chromedriver téléchargé et enregistré dans C:\Chrome:

driver = webdriver.Chrome(executable_path="C:/Chrome/")

En utilisant cela me donne l'erreur suivante:

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  

Toute aide serait appréciée. 

23
user2540748

Vous devez spécifier le chemin du fichier exécutable, et non le chemin du répertoire contenant l'exécutable.

driver = webdriver.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")
47
falsetru


Pour Linux 

1. Vérifiez que vous avez installé la dernière version de chrome browser-> "chrome-browser -version" 
2. Sinon, installez la dernière version de chrome "Sudo apt-get install chrome-browser".
3. Obtenez la version appropriée du pilote chrome à partir de http://chromedriver.storage.googleapis.com/index.html
4. Décompressez le chromedriver.Zip
5. Déplacez le fichier dans le répertoire/usr/bin Sudo mv chromedriver/usr/bin.
6. Allez dans le répertoire/usr/bin et exécutez quelque chose comme "chmod a + x chromedriver" pour le marquer comme exécutable. 
7. Enfin, vous pouvez exécuter le code.

from Selenium import webdriver
driver = webdriver.Chrome()
driver.get("http://www.google.com")
display.stop()
25
Vicky

Pour les fenêtres 

Téléchargez le pilote Web à partir de:

http://chromedriver.storage.googleapis.com/2.9/chromedriver_win32.Zip

Collez le fichier chromedriver.exe dans le dossier "C:\Python27\Scripts".

Cela devrait fonctionner maintenant.

from Selenium import webdriver
driver = webdriver.Chrome()
6
Abdul Majeed

Lorsque vous appelez Selenium ou une bibliothèque d'automatisation de test, vous devez ajouter ceci. Le code ici est dans Python, mais vous pouvez également le faire dans Java et 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)
2
Harshdeep Singh

En plus de la réponse sélectionnée (chemin de style Windows):

driver = webdriver.Chrome(executable_path=r"C:\Chrome\chromedriver.exe")

Notez le r devant le "C:\Chrome\chromedriver.exe", cela fait de cette chaîne une chaîne brute.

Si vous ne voulez pas utiliser de chaîne brute, vous devriez échapper à la barre oblique, comme ceci: \\, ceci deviendrait: 

driver = webdriver.Chrome(executable_path="C:\\Chrome\\chromedriver.exe")

Ou vous pouvez remplacer le\par un /, vous obtiendrez ceci:

driver = webdriver.Chrome(executable_path="C:/Chrome/chromedriver.exe")
2
Daan

Pour Debian/Ubuntu - cela fonctionne:

installez Google Chrome pour 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

Installez 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

Installer le sélénium:

pip install -U Selenium

Sélénium en Python:

from Selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.google.co.in/')
1
Shinto Joseph

Tout ce que vous avez à faire est de coller le dossier Chromedriver.exe in python36-32. Et vous pouvez l’utiliser simplement, comme par exemple:

from Selenium import webdriver
driver = webdriver.Chrome()

Pas besoin de coller le chemin encore et encore.

OU
Vous pouvez utiliser: 

driver = webdriver.Chrome(executable_path="C:/Chrome/chromedriver.exe")
0
user8167727

Chrome

import os   
from Selenium import webdriver
chromedriver = "C://chromedriver.exe"                                                                     
os.environ["webdriver.chrome.driver"] = chromedriver                      
driver =webdriver.Chrome(chromedriver)
0
Prashanth Sams