Onde encontrar o geckodriver necessário para o pacote Selenium Python?

25

Estou usando o Ubuntu 16.04.1 LTS. Executando python -V retorna Python 2.7.12 . Eu estou construindo um virtualenv off de modo a instalar o pacote Selenium nele via:

pip install -upgrade selenium

Mas ao fazer uma avaliação, execute com o seguinte script python:

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

resulta este erro:

 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

Como geckodriver é um executável, concluí que deve ser fornecido pela instalação do pacote de selênio via pip ou pelo menos erro com alguma mensagem informando o que preciso fazer em seguida. Aparentemente não, então eu cavei mais: pensei que talvez o Ubuntu devesse ter um pacote que fornecesse o executável geckodriver , então usei apt-file search geckodriver para procurá-lo e não encontrei resultados.

Onde obtenho este executável geckodriver ?

    
por bgoodr 20.11.2016 / 04:23

1 resposta

39

Encontre a última versão do seu sistema operacional.

Extraia e copie o geckodriver para /usr/local/bin - assim, se v0.11.1 fosse a versão mais recente e você estivesse no 64bit linux, você faria isso:

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/

Agora, sua avaliação deve funcionar.

    
por Pratik Nagelia 21.12.2016 / 20:54

Tags