如何解决有没有办法在“边缘选项”中激活IE模式?
你好
我想通过在EdgeDriver中具有一个选项来实现此目的,但是我似乎无法在地图上的任何位置找到它?
我正在尝试使用Selenium和EdgeDriver在Edge中以IE模式打开页面。
有没有办法实现这一伟大目标? [双关语]
解决方法
我可以在此线程中看到2个问题。
- 是否可以在Edge Options中激活IE模式?
无法绕过Selenium Edge驱动程序中的Edge选项参数来激活IE模式。
- 我正在尝试使用Selenium和EdgeDriver在Edge中的IE模式下打开一个页面。有没有办法实现这一伟大的目标?
是的,可以使用Selenium Web驱动程序在新的MS Edge浏览器中自动执行IE模式。
新的Microsoft Edge不仅可以让您体验现代体验,还可以为旧站点运行IE11验证。要在Microsoft Edge中运行IE11测试,请从Selenium下载IEDriverServer。然后,您必须传递一种将Microsoft Edge置于IE模式并运行测试的功能。
由于此功能使整个浏览器进入IE11模式,因此您无法同时测试应该在现代Chromium引擎中呈现的内容,但是您应该能够运行所有IE11测试并在Microsoft Edge中验证呈现。请注意,此代码需要对IEDriverServer进行更新,该更新应包含在下一版Selenium中。
从SeleniumHQ下载新的IEDriverServer并按照here中介绍的“必需配置”的说明进行操作之后,可以运行以下代码以IE11模式启动新的Microsoft Edge并运行一些测试: / p>
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",@"\\msedge.exe");
var webdriver = new InternetExplorerDriver(ieService,ieOptions,TimeSpan.FromSeconds(30));
webdriver.Url = "http://www.example.com";
}
输出:
注释:
-
确保您使用的是IE驱动程序服务器的最新版本。
-
我建议使用最新版本的Stable Edge浏览器进行测试。
-
尝试以“ ie.edgepath”功能传递Edge浏览器的完整路径。例如:
ieOptions.AddAdditionalCapability(“ ie.edgepath”,@“ C:\ Program Files(x86)\ Microsoft \ Edge \ Application \ msedge.exe”);
-
在运行代码之前,请确保关闭Edge浏览器的所有已打开实例和选项卡。否则会产生错误。
参考:
,下面的代码(在VB.NET中,但是您可以轻松地将其修改为C#)将在IE模式下启动Chromium Edge
Dim ieService = InternetExplorerDriverService.CreateDefaultService("DIRECTORY_PATH_HAVING_IEDriverServer.exe","IEDriverServer.exe")
Dim ieOptions = New InternetExplorerOptions
ieOptions.IgnoreZoomLevel = True
ieOptions.AddAdditionalCapability("ie.edgechromium",True)
ieOptions.AddAdditionalCapability("ie.edgepath","C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe")
Dim driver = New InternetExplorerDriver(ieService,TimeSpan.FromSeconds(60))
driver.Navigate().GoToUrl("https://example.com")
您可以从https://www.selenium.dev/downloads/下载IEDriverServer