Dove trovare il geckodriver richiesto dal pacchetto Selenium Python?

24

Sto usando Ubuntu 16.04.1 LTS. L'esecuzione di python -V restituisce Python 2.7.12 . Sto costruendo un virtualenv off di quello in modo da installare il Selenium in esso tramite:

pip install -upgrade selenium

Ma quando si fa una prova con il seguente script python:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')

viene visualizzato questo errore:

 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

Poiché geckodriver è un eseguibile, ho concluso che dovrebbe essere fornito dall'installazione del pacchetto di selenio tramite pip o almeno errore con alcuni messaggi che indicano cosa devo fare dopo. Apparentemente no, quindi ho scavato ulteriormente: ho pensato che forse Ubuntu avrebbe dovuto avere un pacchetto che fornisse l'eseguibile geckodriver , quindi ho usato apt-file search geckodriver per cercarlo e non ho trovato risultati.

Dove posso ottenere questo geckodriver eseguibile?

    
posta bgoodr 20.11.2016 - 04:23

1 risposta

38

Trova l' ultima versione per il tuo sistema operativo.

Estrai e copia geckodriver su /usr/local/bin - quindi se v0.11.1 era la versione più recente, e tu eri su Linux 64bit, dovresti fare questo:

wget https://github.com/mozilla/geckodriver/releases/download/v0.11.1/geckodriver-v0.11.1-linux64.tar.gz
tar -xvzf geckodriver-v0.11.1-linux64.tar.gz
rm geckodriver-v0.11.1-linux64.tar.gz
chmod +x geckodriver
cp geckodriver /usr/local/bin/

Ora la tua prova dovrebbe funzionare.

    
risposta data Pratik Nagelia 21.12.2016 - 20:54

Leggi altre domande sui tag