9

尝试让 Microsoft Edge 自动化与 Selenium 一起使用时,我遇到了以下异常:

OpenQA.Selenium.WebDriverException:意外错误。未知错误

我正在使用Selenium.WebDriver.MicrosoftDriver NuGet 包,版本 17.17134.0。

我的代码只是构造函数:

var driver = new EdgeDriver();

我尝试了各种建议的重载:

var driver = new EdgeDriver(new EdgeOptions());

var driver = new EdgeDriver(pathToMicrosoftWebDriverExecutable);

没运气。我确保 Microsoft 的 WebDriver 版本与运行测试的机器上的 Edge 版本相匹配。

有什么方法可以在这里获得更多信息的错误消息?请注意,所有 Selenium 单元测试都可以在 Firefox 和 Chrome WebDrivers 上按预期工作,只有 Edge 不起作用。

4

3 回答 3

2

我知道你提到你有相同的版本,但我自己也遇到了同样的错误,这就是我解决它的方法,所以希望这会有所帮助。

微软似乎不再将 Web 驱动程序作为独立版本发布,这可能是问题所在。(有关详细信息,请参阅此处)目前,Edge 似乎是 17763 版本,而 NuGet 包是 17134。所以我要做的是进入并“通过转到设置 > 应用程序 > 应用程序和功能将其安装为独立> 管理可选功能。” 上面的链接中包含一些替代方向。

安装后,我将驱动程序指向该位置,它终于起作用了。

var driver = new EdgeDriver("C:\\Windows\\System32\\", edgeOptions);
于 2019-03-04T19:46:35.780 回答
0

这个答案不一定能解决所有边缘驱动程序问题,但我可以通过下载与我从这里安装的边缘版本匹配的特定边缘驱动程序来克服这个错误:

https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

就我而言,我使用的是 Edge 的“88.0.705.74”,所以我下载了:

https://msedgedriver.azureedge.net/88.0.705.74/edgedriver_win64.zip

下载驱动程序后,我将其解压缩到本地,但是当我在 C# 中指定目录时,它希望文件名是“MicrosoftWebDriver.exe”而不是“msedgedriver.exe”,因此我将其重命名为:

EdgeOptions options = new EdgeOptions();
IWebDriver edgeDriver = new EdgeDriver("C:\\Users\\[username]\\Downloads\\edgedriver_win64", options);

现在,它加载了驱动程序,我只是遇到了其他几个错误,具体取决于我运行的机器和帐户。我能够让 Edge 导航到一个页面。

于 2021-02-25T05:31:31.017 回答
0

我不确定如何或为什么,但这也对我有用。我收到讨厌的“消息:OpenQA.Selenium.WebDriverException:意外错误。未知错误”。

我按照 Brian Murphy 的说明通过管理我的可选功能将 Microsoft Edge 驱动程序安装为独立的。我不知道 Windows 将它安装在哪里,也不需要更改 C# 中的任何代码,以及之前在 Driver = new EdgeDriver(edgeService, options); 处失败的测试。

再次开始传递。

于 2019-06-26T15:40:38.450 回答