How to install firefoxdriver webdriver for python3 selenium on ubuntu? [duplicate]

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.

0

1 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 ...

You Might Also Like