Я использую Ubuntu 16.04.1 LTS. Выполнение python -V
возвратов Python 2.7.12
. Я строю virtualenv из этого, чтобы установить в него пакет Selenium через:
pip install -upgrade selenium
Но при пробном запуске запустите следующий скрипт Python:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
это приводит к этой ошибке:
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
Поскольку geckodriver
это исполняемый файл, я пришел к выводу, что он должен быть предоставлен путем установки пакета selenium с помощью pip
или, по крайней мере, с сообщением об ошибке, в котором указано, что мне нужно делать дальше. Очевидно, нет, поэтому я продолжил: я подумал, что, возможно, в Ubuntu должен быть пакет, который предоставляет geckodriver
исполняемый файл, поэтому я использовал его apt-file search geckodriver
для поиска и не нашел результатов.
Где взять этот geckodriver
исполняемый файл?