预期的浏览器二进制位置,但无法在默认位置找到二进制文件,没有使用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.
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安装在自定义位置,在这些情况下,您需要通过功能传递Firefox二进制文件的绝对路径,如下所示:moz:firefoxOptions.binary

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

options = Options()
options.binary_location = r'C:Program FilesMozilla Firefoxfirefox.exe'
driver = webdriver.Firefox(executable_path=r'C:WebDriversgeckodriver.exe', firefox_options=options)
driver.get('http://google.com/')

参考

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

  • SessionNotCreatedException:消息:预期的浏览器二进制位置,但无法在默认位置找到二进制文件,没有“moz:firefoxOptions.binary”
  • InvalidArgumentException:消息:二进制不是使用 GeckoDriver Firefox Selenium 和 Python 的 Firefox 可执行文件错误
  • 预期的浏览器二进制位置,但无法在默认位置找到二进制文件,未提供“moz:firefoxOptions.binary”功能

回答

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


以上是预期的浏览器二进制位置,但无法在默认位置找到二进制文件,没有使用GeckoDriver提供的“moz:firefoxOptions.binary”功能的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>