selenium - 无法通过 Selenium 和 C# 使用 Marionette 驱动程序实例化 Firefox。操作系统错误

标签 selenium webdriver ui-automation firefox-marionette

有人可以帮我解决以下问题吗?

当我尝试初始化浏览器时,出现“操作系统错误”异常。

var option = new FirefoxOptions();
option.IsMarionette = true;
var driver = new FirefoxDriver(option);

var b = new Browser(driver); // Throws an exception with a message - 'os error'

The screenshot of the exception

请注意,wires.exe 的路径已添加到系统 PATH 中。 Selenium、wires、firefox 都是最新版本。我尝试使用 firefox-stable 和 firefox-developer 版本运行。

谢谢。

最佳答案

因此,当我试图让 Marionette 正常工作时,我遇到了“操作系统错误”问题。在我的案例中,问题的根源是我试图使用一些名为“Mozilla Firefox Webdriver 0.6.0.1”的 NuGet 包,我相信它有一个非常旧的版本(现在称为)geckodriver.exe。

我从这里下载了最新版本的驱动https://github.com/mozilla/geckodriver/releases 重命名为 wires.exe 并放入我的工作目录 然后我不得不使用以下代码启动驱动程序。

FirefoxDriverService service = FirefoxDriverService.CreateDefaultService();
service.FirefoxBinaryPath = @"C:\Program Files (x86)\Mozilla Firefox\firefox.exe";
Driver = new FirefoxDriver(service);

您启动驱动程序的方式是给我一个entity not found 异常。

希望对你有帮助

关于selenium - 无法通过 Selenium 和 C# 使用 Marionette 驱动程序实例化 Firefox。操作系统错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35984909/

相关文章:

selenium - reCAPTCHA 3 如何知道我正在使用 Selenium/chromedriver?

jquery - Selenium 中的 XPath 定位器与 JQuery 定位器

python - 如何使用 Selenium 下载此视频

java - 如何使用 Chrome Webdriver 关闭下载横幅?

selenium - 为什么我们不写 RemoteWebdriver driver = new ChromeDriver();

unit-testing - 服务级别单元测试与端到端测试之间的区别

angularjs - ui 自动化的唯一标识符

python - 在 docker 中使用 selenium 运行 django 测试

java - 如何等待 WebElement 出现在 DOM 中?

java - WebDriver FluentWait - 函数/谓词可以抛出异常吗?