OpenQA.Selenium.WebDriverException:无法在 PATH 或默认安装位置找到 Firefox 二进制文件(Visual Studio 2017,C#)

OpenQA.Selenium.WebDriverException: Cannot find Firefox binary in PATH or default install locations (Visual Studio 2017, C#)

我的 PATH 环境变量中有 Firefox。无法弄清楚为什么我的 Selenium 测试一直给我这个错误消息。

专门为了回答这个问题而创建了这个问题。我从来没有在任何地方找到答案,我看到的解决方案也没有解决基线问题。

您收到此错误消息的主要原因不是因为您的 PATH 中没有 Firefox。 Firefox 确实需要在您的 PATH 环境变量中。但是,当您安装 Firefox 时,安装程​​序会自动将自身 (Firefox) 添加到您的 PATH 环境变量中。

使用 Selenium 时出现此错误的主要原因是您为 Selenium 项目安装的 NuGet 包(Visual Studio 2017,C#)与您实际安装的 Firefox 版本不匹配你的电脑。

确定问题后,我找到了一篇关于不兼容的文章。 https://www.guru99.com/gecko-marionette-driver-selenium.html

“Selenium Webdriver version 2.53 is not compatible with Mozilla Firefox version 47.0+. The Firefox driver used in earlier versions of Mozilla Firefox will be discontinued, and only the GeckoDriver implementation would be used.”

显然有一个名为 GeckoDriver 的新 NuGet,我们应该使用它来代替 Selenium 附带的 Firefox 驱动程序。最终,这将是唯一的选择。 但是现在,如果您将 Selenium.WebDriver 更新到最新版本(至少 3.xxx … 3.1、3.2 …),它应该 运行 很好。

现在我的电脑上安装了 Firefox 浏览器版本 66.0.5,它似乎可以与任何 3.xxx 版本的 Selenium.WebDriver 一起使用。我目前安装了 Selenium.WebDriver 3.141.0,这两个版本可以很好地协同工作。

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= -=-=-=

额外#1: 如何检查您的 firefox 版本

  1. 打开火狐浏览器
  2. 点击汉堡菜单
  3. 单击帮助
  4. 点击关于 Firefox

额外#2: Selenium.Webdriver 和 Selenium.Support 的版本 (3.)