预期的二进制浏览器位置 - Python 中的回溯

Expected binary browser location - traceback in Python

我刚刚开始构建我的第一个机器人,但我正在努力迈出第一步:自动化浏览器。

这是我的代码:

from selenium import webdriver

browser = webdriver.Firefox(executable_path="/Users/ker/Downloads/geckodriver")
browser.get("https://app.finxter.com/")

当我尝试 运行 代码时,出现以下错误:

selenium.common.exceptions.SessionNotCreatedException: 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

我已经安装了 geckodriver unix 可执行文件并指定了路径,但由于某种原因它仍然无法运行,我无法真正理解错误消息。

您可能会收到此错误消息有两个原因:

  1. 您的系统中没有安装 Firefox。
  2. Firefox 没有安装在您系统的默认位置。

解决方案:

  1. 如果没有安装 Firefox,请在您的系统上安装它。

  2. 如果 firefox 没有安装在默认位置,您需要通过 Option() 实例传递 firefox 可执行文件的路径:

从 selenium 导入 webdriver 来自 selenium.webdriver.firefox.options 导入选项

options = Options()
options.binary_location = r"C:/location/firefox.exe"
driver = webdriver.Firefox(options=options, executable_path="/Users/ker/Downloads/geckodriver.exe")
driver.get('https://app.finxter.com/')

请检查您的驱动程序是否可执行 您可以使用以下命令更改权限。

chmod +x /Users/ker/Downloads/geckodriver