I installed python3-selenium apt package on Ubuntu 16.04. While installing, got a message:
Suggested packages: chromedriver firefoxdriver The following NEW packages will be installed: python3-selenium When I try to run the following python code,
#! /usr/bin/python3.5 from selenium import webdriver import time def get_profile(): profile = webdriver.FirefoxProfile() profile.set_preference("browser.privatebrowsing.autostart", True) return profile def main(): browser = webdriver.Firefox(firefox_profile=getProfile()) #browser shall call the URL browser.get("") time.sleep(5) browser.quit() if __name__ == "__main__": main() I get the following error:
Traceback (most recent call last): File "./test.py", line 19, in <module> main() File "./test.py", line 11, in main browser = webdriver.Firefox(firefox_profile=getProfile()) File "/usr/lib/python3/dist-packages/selenium/webdriver/firefox /webdriver.py", line 77, in __init__ self.binary, timeout), File "/usr/lib/python3/dist-packages/selenium/webdriver/firefox/extension_connection.py", line 47, in __init__ self.profile.add_extension() File "/usr/lib/python3/dist-packages/selenium/webdriver/firefox/firefox_profile.py", line 91, in add_extension self._install_extension(extension) File "/usr/lib/python3/dist-packages/selenium/webdriver/firefox/firefox_profile.py", line 251, in _install_extension compressed_file = zipfile.ZipFile(addon, 'r') File "/usr/lib/python3.5/zipfile.py", line 1009, in __init__ self.fp = io.open(file, filemode) FileNotFoundError: [Errno 2] No such file or directory: '/usr/lib /firefoxdriver/webdriver.xpi' I did searching for packages name firefoxdriver in Ubuntu repositories but none exist.
Any help with installing the webdrivers appreciated.
01 Answer
You need to download the latest geckodriver, then untar the file and put it in your path (i.e. ~/.local/bin).
This will solve the exception but your program will be hanging after this line :
browser = webdriver.Firefox(firefox_profile=getProfile()) The only solution I found is to downgrade Firefox.
First, list the available versions :
apt-cache policy firefox Then install a version lower than 49 (45.0.2+build1-0ubuntu1 for me) :
sudo apt install firefox=45.0.2+build1-0ubuntu1 You could use chromium instead ...