J'utilise Ubuntu 16.04.1 LTS. Exécution des python -V
retours Python 2.7.12
. Je construis un virtualenv à partir de cela afin d'y installer le paquet Selenium via:
pip install -upgrade selenium
Mais lorsque vous effectuez un essai avec le script python suivant:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
il en résulte cette erreur:
Traceback (most recent call last):
File "/home/myuser/bin/selenium-experiment.py", line 2, in <module>
browser = webdriver.Firefox()
File "/home/myuser/python_virtualenv/local/lib/python2.7/site-packages/selenium/webdriver/firefox/webdriver.py", line 135, in __init__
self.service.start()
File "/home/myuser/python_virtualenv/local/lib/python2.7/site-packages/selenium/webdriver/common/service.py", line 71, in start
os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Exception AttributeError: "'Service' object has no attribute 'process'" in <bound method Service.__del__ of <selenium.webdriver.firefox.service.Service object at 0x7f782c1caa50>> ignored
Puisqu'il geckodriver
s'agit d'un exécutable, j'ai conclu qu'il devrait être fourni par l'installation du package sélénium via pip
ou au moins une erreur avec un message indiquant ce que je dois faire ensuite. Apparemment non, alors j'ai creusé plus loin: je pensais que peut-être Ubuntu devrait avoir un paquet qui fournit l' geckodriver
exécutable, donc j'ai l'habitude apt-file search geckodriver
de le rechercher et je n'ai trouvé aucun résultat.
Où puis-je obtenir cet geckodriver
exécutable?
Réponses:
Trouvez la dernière version de votre système d'exploitation.
Extrayez-le et copiez geckodriver sur
/usr/local/bin
- donc siv0.11.1
c'était la version la plus récente et que vous étiez sur Linux 64 bits, vous feriez ceci:Votre essai devrait maintenant fonctionner.
la source
apt-get install -qqy chromedriver
./usr/bin
. Cela a fonctionné pour moicp geckodriver /usr/local/bin/
nécessite l'autorisation de SUDO. Alors Sudo.Ubuntu 16.04+:
la source