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

如何解决有没有办法在“边缘选项”中激活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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?