web-dev-qa-db-fra.com

Erreur Python Selenium lors d’une tentative de lancement de Firefox

Je reçois une erreur lorsque j'essaie d'ouvrir Firefox avec Selenium dans ipython notebook. J'ai regardé autour de moi et j'ai trouvé des erreurs similaires, mais rien qui corresponde exactement à l'erreur que je reçois. Quelqu'un sait ce que le problème pourrait être et comment je le résoudre? J'utilise Firefox 22.

Le code que j'ai tapé était le suivant:

from Selenium import webdriver
driver = webdriver.Firefox()

L'erreur renvoyée par le code est la suivante:

    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

Essayez de spécifier votre binaire Firefox lors de l’initialisation de Firefox()

from Selenium import webdriver
from Selenium.webdriver.firefox.firefox_binary import FirefoxBinary

binary = FirefoxBinary('path/to/binary')
driver = webdriver.Firefox(firefox_binary=binary)

Le chemin par défaut que FirefoxDriver recherche est à %PROGRAMFILES%\Mozilla Firefox\firefox.exe. Voir FirefoxDriver

Ou ajoutez votre chemin de binaire Firefox à Windows ' CHEMIN .

28
Yi Zeng

C'est ce qui a fonctionné:

apt-get update

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

La même erreur s'est produite lorsque j'ai défini la variable d'environnement export PYTHONDONTWRITEBYTECODE=1 afin de supprimer les fichiers pyc à chaque exécution de test. J'ai pu annuler la modification en mettant à jour Selenium pip install --upgrade Selenium. OSX (10.10)

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

ces 2 paquets sont nécessaires (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

ce qui fonctionne aussi pour moi est d’utiliser chrome au lieu de firefox Consultez ce tutoriel: https://christopher.su/2015/Selenium-chromedriver-ubuntu/

0
Bassem Shahin