Beim Versuch, Firefox mit Selenium in ipython notebook zu öffnen, wird eine Fehlermeldung angezeigt. Ich habe mich umgesehen und ähnliche Fehler gefunden, aber nichts stimmt mit dem Fehler überein, den ich bekomme. Weiß jemand, was das Problem sein könnte und wie ich es beheben kann? Ich verwende Firefox 22.
Der Code, den ich eingegeben habe, war wie folgt:
from Selenium import webdriver
driver = webdriver.Firefox()
Der Fehler, den der Code zurückgibt, lautet wie folgt:
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
Geben Sie bei der Initialisierung Ihre Firefox-Binärdatei an. Firefox()
from Selenium import webdriver
from Selenium.webdriver.firefox.firefox_binary import FirefoxBinary
binary = FirefoxBinary('path/to/binary')
driver = webdriver.Firefox(firefox_binary=binary)
Der Standardpfad, nach dem FirefoxDriver sucht, ist %PROGRAMFILES%\Mozilla Firefox\firefox.exe
. Siehe FirefoxDriver
Oder fügen Sie Ihren Pfad von Firefox-Binärdateien zu Windows ' PATH hinzu.
Das hat funktioniert:
apt-get update
apt-get install -y xorg xvfb firefox dbus-x11 xfonts-100dpi xfonts-75dpi xfonts-cyrillic
Ich habe die gleiche Fehlermeldung erhalten, wenn ich die Umgebungsvariable export PYTHONDONTWRITEBYTECODE=1
eingestellt habe, um pyc-Dateien bei jedem Testlauf zu entfernen. Ich konnte die Änderung durch ein Update von Selenium pip install --upgrade Selenium
rückgängig machen. OSX (10.10)
Du musst den Geckodriver installieren:
https://Selenium-python.readthedocs.io/installation.html
Laden Sie es einfach herunter, entpacken Sie es und kopieren Sie es in Ihr python Verzeichnis ... Einfach.
driver=webdriver.Firefox(executable_path="add geckodriver.exe",log_path=None)
diese 2 Pakete werden benötigt (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
was für mich funktioniert, ist die Verwendung von Chrome anstelle von Firefox Überprüfen Sie dieses Tutorial: https://christopher.su/2015/Selenium-chromedriver-ubuntu/