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
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 .
C'est ce qui a fonctionné:
apt-get update
apt-get install -y xorg xvfb firefox dbus-x11 xfonts-100dpi xfonts-75dpi xfonts-cyrillic
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)
driver=webdriver.Firefox(executable_path="add geckodriver.exe",log_path=None)
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/