18

ipython ノートブックで Selenium を使用して Firefox を開こうとすると、エラーが発生します。私は周りを見回して同様のエラーを見つけましたが、私が得ているエラーと正確に一致するものは何もありません. 何が問題で、どのように修正するか知っている人はいますか? Firefox 22 を使用しています。

入力したコードは次のとおりです。

from selenium import webdriver
driver = webdriver.Firefox()

コードが返すエラーは次のとおりです。

    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
4

9 に答える 9

28

初期化時に Firefox バイナリを指定してみてくださいFirefox()

from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary

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

FirefoxDriver が探すデフォルトのパスは です%PROGRAMFILES%\Mozilla Firefox\firefox.exeFirefoxDriverを参照してください。

または、Firefox バイナリのパスを Windows のPATHに追加します。

于 2013-07-10T22:24:59.340 に答える
1

要件:

  • Ubuntu 16.04 (i386)
  • Firefox 65.0.1。
  • パイソン3.8.5
  • geckodriver-v0.27.0-linux32.tar.gz

これが私がすることです:

  • pip3 インストール セレン

  • geckodriver v0.27.0 をダウンロード

  • geckodriver の抽出

  • mv geckodriver /usr/local/bin/

  • export PATH=$PATH:/usr/local/bin/geckodriver

  • コマンドで Xauthority を確認します --> Xauthority を見つけます

  • cd /home/your-user/Xauthority

  • chown ルート: .Xauthority

  • Python コードを作成します。

    セレンインポートウェブドライバーから

    browser = webdriver.Firefox() browser.get('http://localhost')

  • Python スクリプトを実行します。

于 2020-09-02T04:26:37.923 に答える
0

export PYTHONDONTWRITEBYTECODE=1すべてのテスト実行でpycファイルを削除するように環境変数を設定すると、同じエラーが発生しました。selenium を更新することで、変更を元に戻すことができましたpip install --upgrade selenium。OS X (10.10)

于 2016-06-07T04:01:57.690 に答える
0

Linux でも同様のエラーが発生しました。snapの代わりにaptでfirefoxをインストールすることで解決しました。

于 2022-02-16T12:11:21.770 に答える