Tôi đang sử dụng Ubuntu 16.04.1 LTS. Thực hiện python -V
trả lại Python 2.7.12
. Tôi đang xây dựng một Virtualenv từ đó để cài đặt gói Selenium vào nó thông qua:
pip install -upgrade selenium
Nhưng khi thực hiện chạy thử với tập lệnh python sau:
from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://seleniumhq.org/')
nó dẫn đến lỗi này:
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
Vì geckodriver
là một tệp thực thi, tôi đã kết luận rằng nó nên được cung cấp bằng cách cài đặt gói selenium thông qua pip
hoặc ít nhất là có lỗi với một số thông báo cho biết tôi cần làm gì tiếp theo. Rõ ràng là không, vì vậy tôi đã đào sâu hơn: Tôi nghĩ rằng có lẽ Ubuntu nên có một gói cung cấp khả năng geckodriver
thực thi nên tôi đã sử dụng apt-file search geckodriver
để tìm kiếm nó và không tìm thấy kết quả.
Tôi lấy cái này ở geckodriver
đâu?