我必须使用什么驱动程序才能在 Edge Chromium 浏览器上用 C# 运行 selenium 测试?

Man*_*anu 7 c# automated-tests selenium-webdriver microsoft-edge

我正在尝试使用 Edge 浏览器在 C# 中启动一个简单的 selenium 测试,但我不能。指示我的错误如下:

OpenQA.Selenium.DriverServiceNotFoundException: '文件 C:\Selenium\Drivers\MicrosoftWebDriver.exe 不存在。可以从以下网址下载该驱动程序:http://go.microsoft.com/fwlink/ ?LinkId=619687

这是给我错误的代码行:driver = new EdgeDriver ("C:\\Selenium\\Drivers");

在路径 C:\Selenium\Drivers 中我有以下驱动程序:msedgedriver.exe

从页面下载:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/

该驱动程序与我的 Edge 版本相对应:Microsoft Edge 是最新的。版本80.0.361.62(官方编译)(64位)

我究竟做错了什么?我的错误是什么?我该如何解决?

Amb*_*ung 7

在撰写本文时,nuget 包下载的 EdgedriverSelenium.WebDriver.MSEdgeDrivermsedgedriver.exe,但EdgeDriver(...)构造函数正在寻找MicrosoftWebDriver.exe.

我发现你可以像这样指定 exe 的名称:

IWebDriver driver = new EdgeDriver(
   EdgeDriverService.CreateDefaultService(".", "msedgedriver.exe"));
Run Code Online (Sandbox Code Playgroud)

希望这对你有用。


Yu *_*hou 2

您使用的硒版本是什么?如果您使用的是Selenium 4.00-alpha03 及更早版本,您可以参考以下步骤来自动化 Microsoft Edge Chromium:

\n\n\n\n
using OpenQA.Selenium.Edge;    \nusing OpenQA.Selenium.Remote;   \nusing System.Collections.Generic;\nusing System.Threading;       \n\nvar service = EdgeDriverService.CreateDefaultService(@"C:\\Selenium\\Drivers", @"msedgedriver.exe"); \nservice.UseVerboseLogging = true; \nservice.UseSpecCompliantProtocol = true; \nservice.Start();  \nvar caps = new DesiredCapabilities(new Dictionary<string, object>() \n{ \n    { "ms:edgeOptions", new Dictionary<string, object>() { \n        { "binary", @"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe" } \n    }} \n}); \n\nvar driver = new RemoteWebDriver(service.ServiceUrl, caps);  \ndriver.Navigate().GoToUrl("https://bing.com"); \nThread.Sleep(2000);  \ndriver.Close(); \nservice.Dispose(); \n
Run Code Online (Sandbox Code Playgroud)\n\n

注意:将代码中的路径更改为您自己的路径。

\n\n

-------------------------------------------------- - - - - - - - -更新 - - - - - - - - - - - - - - - - - ------------------------

\n\n

在自动化 Edge Chromium 时,您需要使用Selenium 4.00-alpha04来使用浏览器特定的选项类:

\n\n
    \n
  • 从这里下载 Selenium 4.00-alpha04\xe2\x80\xaf 的 .NET 语言绑定

  • \n
  • 从\xe2\x80\xaf此页面下载匹配版本的 Microsoft Edge 驱动程序。

  • \n
  • C# 代码示例:

  • \n
\n\n
using OpenQA.Selenium.Edge; \nusing OpenQA.Selenium.Remote;  \n\nEdgeOptions edgeOptions = new EdgeOptions(false);     \nedgeOptions.BinaryLocation = @"C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe"; \nvar msedgedriverDir = @"C:\\Selenium\\Drivers"; \nvar msedgedriverExe = @"msedgedriver.exe"; \n\nvar service = EdgeDriverService.CreateDefaultService(msedgedriverDir, msedgedriverExe, false); \nservice.EnableVerboseLogging = true; \nvar driver = new EdgeDriver(service, edgeOptions); \ndriver.Navigate().GoToUrl("https://bing.com"); \nThread.Sleep(2000); \ndriver.Close();\n
Run Code Online (Sandbox Code Playgroud)\n\n

注意:将代码中的路径更改为您自己的路径。

\n