预期的浏览器二进制位置,但无法在默认位置找到二进制文件,没有使用 GeckoDriver 提供的“moz:firefoxOptions.binary”功能

新手上路,请多包涵
from selenium import webdriver;
browser= webdriver.Firefox();
browser.get('http://www.seleniumhq.org');

当我尝试运行这段代码时,它给了我一个 error message

 Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line.

任何想法-高度赞赏!

原文由 Sergii Sechka 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

这个错误信息…

 Expected browser binary location, but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided, and no binary flag set on the command line.

…暗示 GeckoDriver 无法在默认位置找到 Firefox 二进制文件。此外,您还没有通过 moz:firefoxOptions.binary 能力。


解决方案

可能在您的系统中, firefox 安装在自定义位置,在这些情况下,您需要通过 moz:firefoxOptions.binary 功能传递 Firefox 二进制文件的 _绝对路径_,如下所示:

 from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.binary_location = r'C:\Program Files\Mozilla Firefox\firefox.exe'
driver = webdriver.Firefox(executable_path=r'C:\WebDrivers\geckodriver.exe', options=options)
driver.get('http://google.com/')


参考

您可以在以下位置找到一些相关的详细讨论:

原文由 undetected Selenium 发布,翻译遵循 CC BY-SA 4.0 许可协议

我的系统上根本没有安装 Firefox。这就是出现此错误的原因。

原文由 IceRevenge 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题