selenium - 如何在 selenium C# 的 Chromium Edge 浏览器中启用 IE 模式?
问题描述
我想在 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 模式,您可以参考本文中的自动化 Internet Explorer 模式部分。
您可以参考以下步骤:
- 从Selenium 站点下载最新版本的IEDriverServer。这里我使用 32 位 Windows IE 版本 3.150.1。
- 据此做一些准备使用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 浏览器选项卡和窗口。
- 在代码中使用完整路径。例如:
ieOptions.AddAdditionalCapability("ie.edgepath", @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe");
。
推荐阅读
- regex - 如何不匹配捕获组中的字符
- swift - Swift Combine:如何将 `AnyPublisher<[Foo], *>` 转换为 `AnyPublisher
`? - sql - 显示列值未出现在另一列的同一组中的行
- node.js - 进程停止时,使用 PM2 运行的节点应用程序不会停止
- javascript - 要解密,首先计算: a' = a^(P−1−x) (mod P); 如何使用 javascript 计算 a'?
- javascript - 如何在我的网站中正确实施用户系统 - 基本指南、javascript、节点?
- c# - 使用 C# 以特定方式组合所有字符
- ios - 找不到框架 GoogleMobileAds
- html - 将旋转的 div 对齐到右侧
- java - 如何将字符串转换为日期并验证日期是否在给定的特定日期之后