作者:云中之锦书 | 来源:互联网 | 2023-09-16 16:06
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。这就是这个错误出现的原因。