3

有人可以帮我解决以下问题。

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

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'

异常截图

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

谢谢。

4

2 回答 2

2

因此,当我试图让 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例外。

希望这可以帮助

于 2016-06-22T20:42:36.960 回答
0

也许 DesiredCapabilities 会起作用。

   DesiredCapabilities capabilities = DesiredCapabilities.Firefox();
   capabilities.SetCapability("marionette", true);
   var driver = new FirefoxDriver(capabilities);
于 2016-03-14T11:03:24.263 回答