J'ai rencontré un problème en travaillant avec Selenium. Pour mon projet, je dois utiliser Chrome. Cependant, je ne peux pas me connecter à ce navigateur après l'avoir lancé avec Selenium.
Pour une raison quelconque, Selenium ne peut pas trouver Chrome par lui-même. Voici ce qui se passe lorsque j'essaye de lancer Chrome sans inclure de chemin:
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'
Pour résoudre ce problème, j'ai ensuite inclus le chemin Chromium dans le code qui lance Chrome. Cependant, l'interpréteur ne parvient pas à trouver une socket à laquelle se connecter:
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'
J'ai également essayé de résoudre le problème en lançant chrome avec:
chrome --remote-shell-port = 9222
Cependant, cela n'a pas fonctionné non plus.
PS. Voici quelques informations sur mon système:
www-client: chrome 15.0.874.121 dev-lang: python 2.7.2-r3 Selenium 2.11.1 Système d'exploitation: GNU / Linux Gentoo Kernel 3.1.0-gentoo-r1
Réponses:
Vous devez vous assurer que le binaire ChromeDriver autonome (qui est différent du binaire du navigateur Chrome) est soit dans votre chemin, soit disponible dans la variable d'environnement webdriver.chrome.driver.
voir http://code.google.com/p/selenium/wiki/ChromeDriver pour obtenir des informations complètes sur la façon de câbler les choses.
Éditer:
Bien, semble être un bogue dans les liaisons Python lors de la lecture du binaire chromedriver à partir du chemin ou de la variable d'environnement. Il semble que si chromedriver n'est pas dans votre chemin, vous devez le transmettre en tant qu'argument au constructeur.
la source
Pour Linux
chromium-browser -version
sudo apt-get install chromium-browser
/usr/bin
répertoiresudo mv chromedriver /usr/bin
/usr/bin
répertoirecd /usr/bin
sudo chmod a+x chromedriver
pour le marquer comme exécutable.enfin, vous pouvez exécuter le code.
la source
Mac OSX uniquement
Un moyen plus simple de commencer (en supposant que vous avez déjà installé homebrew , que vous devriez, sinon, faites-le d'abord et laissez homebrew vous rendre la vie meilleure) est de simplement exécuter la commande suivante:
Cela devrait mettre le chromedriver sur votre chemin et vous devriez être prêt.
la source
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.
brew doctor
et voyez si cela trouve quelque chose.Pour les fenêtres
Téléchargez ChromeDriver à partir de ce lien direct OU obtenez la dernière version sur cette page .
Collez le
chromedriver.exe
fichier dans votreC:\Python27\Scripts
dossier.Cela devrait fonctionner maintenant:
la source
Pour les fenêtres, veuillez
chromedriver.exe
placer le sous<Install Dir>/Python27/Scripts/
la source
/usr/lib/
ou ailleurs?PATH
ne suffisait pas, le placer là/Scripts/
où ilride.py
est travaillé.Il existe 2 façons d'exécuter des tests Selenium python dans Google Chrome. J'envisage Windows (Windows 10 dans mon cas):
Prérequis: téléchargez le dernier pilote Chrome sur: https://sites.google.com/a/chromium.org/chromedriver/downloads
Voie 1:
i) Extrayez le fichier zip téléchargé dans un répertoire / emplacement de votre choix
ii) Définissez le chemin de l'exécutable dans votre code comme ci-dessous:
Voie 2:
i) Collez simplement le chromedriver.exe sous / Python / Scripts / (Dans mon cas, le dossier était: C: \ Python36 \ Scripts)
ii) Maintenant, écrivez le code simple comme ci-dessous:
la source
Pour l'IDE de Windows:
Si votre chemin ne fonctionne pas, vous pouvez essayer d'ajouter le
chromedriver.exe
à votre projet, comme dans cette structure de projet.Ensuite, vous devez charger le
chromedriver.exe
dans votre fichier principal. Quant à moi, j'ai chargé ledriver.exe
indriver.py
...
signifiedriver.py's
répertoire supérieur.
désigne le répertoire où ledriver.py
se trouve leJ'espère que cela vous sera utile.
la source