'Python selenium error when trying to launch firefox

I am getting an error when trying to open Firefox using Selenium in ipython notebook. I've looked around and have found similar errors but nothing that exactly matches the error I'm getting. Anybody know what the problem might be and how I fix it? I'm using Firefox 22.

The code I typed in was as follows:

from selenium import webdriver
driver = webdriver.Firefox()

The error the code returns is as follows:

    WindowsError                              Traceback (most recent call last)
<ipython-input-7-fd567e24185f> in <module>()
----> 1 driver = webdriver.Firefox()

C:\Anaconda\lib\site-packages\selenium\webdriver\firefox\webdriver.pyc in __init__(self, firefox_profile, firefox_binary, timeout, capabilities, proxy)
     56         RemoteWebDriver.__init__(self,
     57             command_executor=ExtensionConnection("127.0.0.1", self.profile,
---> 58             self.binary, timeout),
     59             desired_capabilities=capabilities)
     60         self._is_remote = False

C:\Anaconda\lib\site-packages\selenium\webdriver\firefox\extension_connection.pyc in __init__(self, host, firefox_profile, firefox_binary, timeout)
     45         self.profile.add_extension()
     46 
---> 47         self.binary.launch_browser(self.profile)
     48         _URL = "http://%s:%d/hub" % (HOST, PORT)
     49         RemoteConnection.__init__(

C:\Anaconda\lib\site-packages\selenium\webdriver\firefox\firefox_binary.pyc in launch_browser(self, profile)
     45         self.profile = profile
     46 
---> 47         self._start_from_profile_path(self.profile.path)
     48         self._wait_until_connectable()
     49 

C:\Anaconda\lib\site-packages\selenium\webdriver\firefox\firefox_binary.pyc in _start_from_profile_path(self, path)
     71 
     72         Popen(command, stdout=PIPE, stderr=STDOUT,
---> 73               env=self._firefox_env).communicate()
     74         command[1] = '-foreground'
     75         self.process = Popen(

C:\Anaconda\lib\subprocess.pyc in __init__(self, args, bufsize, executable, stdin, stdout, stderr, preexec_fn, close_fds, shell, cwd, env, universal_newlines, startupinfo, creationflags)
    677                             p2cread, p2cwrite,
    678                             c2pread, c2pwrite,
--> 679                             errread, errwrite)
    680 
    681         if mswindows:

C:\Anaconda\lib\subprocess.pyc in _execute_child(self, args, executable, preexec_fn, close_fds, cwd, env, universal_newlines, startupinfo, creationflags, shell, p2cread, p2cwrite, c2pread, c2pwrite, errread, errwrite)
    894                                          env,
    895                                          cwd,
--> 896                                          startupinfo)
    897             except pywintypes.error, e:
    898                 # Translate pywintypes.error to WindowsError, which is

WindowsError: [Error 2] The system cannot find the file specified


Solution 1:[1]

Problem is ocuring because you don't have geckodriver

Solution:

  1. Go to this website and download appropriate version for you machine, make sure that you have .exe file inside the archieve.
  2. Then unpack and copy .exe file to your directory

Solution 2:[2]

Requirements:

  • Ubuntu 16.04 (i386)
  • Firefox 65.0.1.
  • python 3.8.5
  • geckodriver-v0.27.0-linux32.tar.gz

This is what I do:

  • pip3 install selenium

  • Download geckodriver v0.27.0

  • Extract geckodriver

  • mv geckodriver /usr/local/bin/

  • export PATH=$PATH:/usr/local/bin/geckodriver

  • check Xauthority with command --> locate Xauthority

  • cd /home/your-user/Xauthority

  • chown root: .Xauthority

  • create python code:

    from selenium import webdriver

    browser = webdriver.Firefox() browser.get('http://localhost')

  • Run python script.

Solution 3:[3]

I got the same error when I set environment variable export PYTHONDONTWRITEBYTECODE=1 to get rid of pyc files on every test run. I was able to revert the change by updating selenium pip install --upgrade selenium. OSX (10.10)

Solution 4:[4]

This is what worked:

apt-get update

apt-get install -y xorg xvfb firefox dbus-x11 xfonts-100dpi xfonts-75dpi xfonts-cyrillic

Solution 5:[5]

    driver=webdriver.Firefox(executable_path="add geckodriver.exe",log_path=None)

Solution 6:[6]

You are required to install geckodriver:

https://selenium-python.readthedocs.io/installation.html

Just download it, unzip it, and copy it to your python directory... Simple.

Solution 7:[7]

A similar error happened to me on Linux. Solved it by installing firefox with apt instead of snap.

Solution 8:[8]

those 2 packages are needed (ubuntu)!

apt-get update
apt-get install -y xorg xvfb firefox dbus-x11 xfonts-100dpi xfonts-75dpi xfonts-cyrillic

sudo apt-get install build-essential curl git m4 ruby texinfo libbz2-dev libcurl4-openssl-dev libexpat-dev libncurses-dev zlib1g-dev
sudo apt install linuxbrew-wrapper
brew install geckodriver

also what working for me is to use chrome instead of firefox check this tutorial: https://christopher.su/2015/selenium-chromedriver-ubuntu/

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Joseph Dance
Solution 2 Aris Laode
Solution 3 Al Kan
Solution 4 HiDeo
Solution 5 Ak8511
Solution 6 Gilco
Solution 7 user23952
Solution 8