'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:
- Go to this website and download appropriate version for you machine, make sure that you have .exe file inside the archieve.
- 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 |
