有没有办法在“边缘选项”中激活IE模式?

问题描述

Allow sites to be reloaded in Internet Explorer mode

你好

我想通过在EdgeDriver中具有一个选项来实现此目的,但是我似乎无法在地图上的任何位置找到它?

我正在尝试使用Selenium和EdgeDriver在Edge中以IE模式打开页面

有没有办法实现这一伟大目标? [双关语]

解决方法

我可以在此线程中看到2个问题。

  1. 是否可以在Edge Options中激活IE模式?

无法绕过Selenium Edge驱动程序中的Edge选项参数来激活IE模式。

  1. 我正在尝试使用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"; 
}

输出:

enter image description here

注释:

  1. 确保您使用的是IE驱动程序服务器的最新版本。

  2. 我建议使用最新版本的Stable Edge浏览器进行测试。

  3. 尝试以“ ie.edgepath”功能传递Edge浏览器的完整路径。例如:

    ieOptions.AddAdditionalCapability(“ ie.edgepath”,@“ C:\ Program Files(x86)\ Microsoft \ Edge \ Application \ msedge.exe”);

  4. 在运行代码之前,请确保关闭Edge浏览器的所有已打开实例和选项卡。否则会产生错误。

参考:

  1. 滚动到此链接中的Automating Internet Explorer mode点。

  2. kypflug/webdriver-edge-ie-mode.cs

,

下面的代码(在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