web-dev-qa-db-fra.com

Où trouver le paquetage geckodriver requis par le paquet Selenium Python?

J'utilise Ubuntu 16.04.1 LTS. L'exécution de python -V renvoie Python 2.7.12. Je construis un serveur virtuel à partir de cela afin d'y installer le paquet Selenium via:

pip install -upgrade Selenium

Mais lorsque vous effectuez une version d'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

Comme geckodriver est un fichier exécutable, j’ai conclu qu’il devrait être fourni par l’installation du paquet Selenium 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'exécutable geckodriver alors j'ai utilisé apt-file search geckodriver pour le rechercher et je n'ai trouvé aucun résultat.

Où puis-je obtenir cet exécutable geckodriver?

26
bgoodr

Trouvez le dernière version pour votre système d'exploitation.

Extrayez-le et copiez geckodriver dans /usr/local/bin - donc si v0.11.1 était la version la plus récente et que vous utilisiez un linux 64 bits, procédez comme suit:

export GECKO_DRIVER_VERSION='v0.24.0'
wget https://github.com/mozilla/geckodriver/releases/download/$GECKO_DRIVER_VERSION/geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
tar -xvzf geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
rm geckodriver-$GECKO_DRIVER_VERSION-linux64.tar.gz
chmod +x geckodriver
cp geckodriver /usr/local/bin/

Votre essai devrait maintenant fonctionner.

40
Pratik Nagelia