如何在 selenium C# 的 Chromium Edge 浏览器中启用 IE 模式?
How to enable IE mode in Chromium Edge Browser in selenium C#?
我想在 Edge 中自动化一个需要启用 IE 模式的网站。如何在 selenium 中以 IE 模式启动 Edge?
我目前使用的以下代码在非 IE 模式下启动 Edge,这将无法正确显示网站。
Dim edgeDriverService = Microsoft.Edge.SeleniumTools.EdgeDriverService.CreateChromiumService()
Dim edgeOptions = New Microsoft.Edge.SeleniumTools.EdgeOptions()
edgeOptions.PageLoadStrategy = PageLoadStrategy.Normal
edgeOptions.UseChromium = True
Dim driver As IWebDriver = New Microsoft.Edge.SeleniumTools.EdgeDriver(edgeDriverService, edgeOptions)
driver.Navigate().GoToUrl("http://example.com")
尝试使用edgeOptions.AddAdditionalCapability("ie.edgechromium", True)
但没有用
关于如何在 Selenium C# 中的 Edge Chromium 中使用 IE 模式,您可以参考 this article 中的 自动化 Internet Explorer 模式 部分。
您可以参考以下步骤:
- 从 Selenium site 下载 最新 版本的 IEDriverServer。这里我用的是32位Windows IE版本3.150.1.
- 根据this做一些使用IEDriver的准备工作。
- 使用 Visual Studio 创建一个 C# 控制台项目。
- 从 Nuget 包管理器安装 Selenium.WebDriver 3.141.0 nuget 包。
- 将下面的代码添加到项目中,并将代码中的路径修改为自己的:
static void Main(string[] args)
{
var dir = "{FULL_PATH_TO_IEDRIVERSERVER}";
var driver = "IEDriverServer.exe";
if (!Directory.Exists(dir) || !File.Exists(Path.Combine(dir, driver)))
{
Console.WriteLine("Failed to find {0} in {1} folder.", dir, driver);
return;
}
var ieService = InternetExplorerDriverService.CreateDefaultService(dir, driver);
var ieOptions = new InternetExplorerOptions{};
ieOptions.AddAdditionalCapability("ie.edgechromium", true);
ieOptions.AddAdditionalCapability("ie.edgepath", "{FULL_PATH_TO_MSEDGE.EXE}");
var webdriver = new InternetExplorerDriver(ieService, ieOptions, TimeSpan.FromSeconds(30));
webdriver.Url = "http://www.example.com";
}
- 运行要测试的项目:
备注:
- 确保在 运行 代码之前关闭所有 Edge 浏览器选项卡和 window。
- 在代码中使用完整路径。例如:
ieOptions.AddAdditionalCapability("ie.edgepath", @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe");
.
我想在 Edge 中自动化一个需要启用 IE 模式的网站。如何在 selenium 中以 IE 模式启动 Edge?
我目前使用的以下代码在非 IE 模式下启动 Edge,这将无法正确显示网站。
Dim edgeDriverService = Microsoft.Edge.SeleniumTools.EdgeDriverService.CreateChromiumService()
Dim edgeOptions = New Microsoft.Edge.SeleniumTools.EdgeOptions()
edgeOptions.PageLoadStrategy = PageLoadStrategy.Normal
edgeOptions.UseChromium = True
Dim driver As IWebDriver = New Microsoft.Edge.SeleniumTools.EdgeDriver(edgeDriverService, edgeOptions)
driver.Navigate().GoToUrl("http://example.com")
尝试使用edgeOptions.AddAdditionalCapability("ie.edgechromium", True)
但没有用
关于如何在 Selenium C# 中的 Edge Chromium 中使用 IE 模式,您可以参考 this article 中的 自动化 Internet Explorer 模式 部分。
您可以参考以下步骤:
- 从 Selenium site 下载 最新 版本的 IEDriverServer。这里我用的是32位Windows IE版本3.150.1.
- 根据this做一些使用IEDriver的准备工作。
- 使用 Visual Studio 创建一个 C# 控制台项目。
- 从 Nuget 包管理器安装 Selenium.WebDriver 3.141.0 nuget 包。
- 将下面的代码添加到项目中,并将代码中的路径修改为自己的:
static void Main(string[] args)
{
var dir = "{FULL_PATH_TO_IEDRIVERSERVER}";
var driver = "IEDriverServer.exe";
if (!Directory.Exists(dir) || !File.Exists(Path.Combine(dir, driver)))
{
Console.WriteLine("Failed to find {0} in {1} folder.", dir, driver);
return;
}
var ieService = InternetExplorerDriverService.CreateDefaultService(dir, driver);
var ieOptions = new InternetExplorerOptions{};
ieOptions.AddAdditionalCapability("ie.edgechromium", true);
ieOptions.AddAdditionalCapability("ie.edgepath", "{FULL_PATH_TO_MSEDGE.EXE}");
var webdriver = new InternetExplorerDriver(ieService, ieOptions, TimeSpan.FromSeconds(30));
webdriver.Url = "http://www.example.com";
}
- 运行要测试的项目:
备注:
- 确保在 运行 代码之前关闭所有 Edge 浏览器选项卡和 window。
- 在代码中使用完整路径。例如:
ieOptions.AddAdditionalCapability("ie.edgepath", @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe");
.