web-dev-qa-db-de.com

Python-Selen-Fehler beim Starten von Firefox

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
16
CultureQuant

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.

28
Yi Zeng

Das hat funktioniert:

apt-get update

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

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)

0
Skifsunset

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.

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

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/

0
Bassem Shahin