使用 Internet Explorer 驱动程序在 Microsoft Edge 中自动执行 IE 模式

您所在的位置:网站首页 IE浏览器兼容模式总是要添加 使用 Internet Explorer 驱动程序在 Microsoft Edge 中自动执行 IE 模式

使用 Internet Explorer 驱动程序在 Microsoft Edge 中自动执行 IE 模式

2024-04-05 10:57| 来源: 网络整理| 查看: 265

使用 Internet Explorer 驱动程序在 Microsoft Edge 中自动执行 IE 模式 项目2022/06/301 个参与者

如果拥有业务关键型旧版网站或应用,则可能需要在 Microsoft Edge 的 Internet Explorer (IE) 模式下测试内容。 本文介绍如何开始使用 Internet Explorer 驱动程序 (IEDriver) 在 Microsoft Edge 中自动执行 IE 模式。

对于仍需要 Internet Explorer 11 的组织而言,Microsoft Edge 中的 IE 模式是一项功能,用于旧版网站或应用的向后兼容性。 若要详细了解 IE 模式,请阅读 什么是 Internet Explorer (IE) 模式?

从 2022 年 6 月 15 日开始,某些版本的 Windows 10 将不再支持 Internet Explorer 11。 有关详细信息,请阅读 Internet Explorer 11 桌面应用停用常见问题解答。

下载 Internet Explorer 驱动程序 (IEDriver)

若要在 Microsoft Edge 的 IE 模式下开始自动执行测试, 请下载 IEDriver。 请确保下载的 IEDriver 版本是 4.0.0.0 或更高版本。

必需配置

若要正确配置 IEDriver、Windows 和 Microsoft Edge,请完成 Selenium 所需配置的要求。

将驱动程序可执行文件放在 PATH 中

驱动程序可执行文件需要放置在 PATH 中;请参阅 IE 驱动程序服务器。 该页顶部显示:“必须从”下载“页下载独立服务器可执行文件并将其放置在 PATH 中。

如果 PATH 中未包含驱动程序位置,则必须使用 Java 系统属性 webdriver.ie.driver 或其他方式设置驱动程序位置。

在 Microsoft Edge 中自动执行 IE 模式

以下部分介绍如何使用 Selenium 在 Microsoft Edge 中自动执行 IE 模式。

本文提供了有关使用 Selenium 框架的说明,但你可以使用任何支持 WebDriver 的库、框架、编程语言。 若要使用另一个框架完成相同的任务,请查阅所选框架的文档。

若要使用 IEDriver 在 IE 模式下启动 Microsoft Edge:

使用指向 Microsoft Edge 浏览器的其他属性进行定义 InternetExplorerOptions 。

启动并传递它的InternetExplorerOptions实例InternetExplorerDriver。 IEDriver 启动 Microsoft Edge,然后在 IE 模式下加载 Web 内容。

下一部分显示完整的示例,然后后续部分重点介绍上面列出的每个主要步骤。

完整示例

以下示例在 IE 模式下启动 Microsoft Edge,导航到 bing.com,然后搜索“WebDriver”。

C#PythonJavaJavaScript

Python复制

from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys ie_options = webdriver.IeOptions() ie_options.attach_to_edge_chrome = True ie_options.edge_executable_path = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" driver = webdriver.Ie(options=ie_options) driver.get("http://www.bing.com") elem = driver.find_element(By.ID, 'sb_form_q') elem.send_keys('WebDriver' + Keys.RETURN) driver.quit()

以下部分更详细地介绍了此示例中的步骤。

使用 Microsoft Edge 的其他属性定义 InternetExplorerOptions

使用指向 Microsoft Edge 浏览器的其他属性进行定义 InternetExplorerOptions 。

C#PythonJavaJavaScript

通过调用webdriver.IeOptions()定义新变量ie_options。

将属性ie_options.attach_to_edge_chrome设置为 True``ie_options.edge_executable_path Microsoft Edge 可执行文件的路径。

Python复制

ie_options = webdriver.IeOptions() ie_options.attach_to_edge_chrome = True ie_options.edge_executable_path = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe" 启动 IEDriver

启动 IEDriver。 IEDriver 启动 Microsoft Edge,然后在 IE 模式下加载 Web 内容。

C#PythonJavaJavaScript

通过调用 webdriver.Ie 并传递之前定义 ie_options的 IEDriver 来启动它。 IEDriver 在 IE 模式下启动 Microsoft Edge。 所有页面导航和后续交互都以 IE 模式进行。

Python复制

driver = webdriver.Ie(options=ie_options) 已知限制

本部分介绍以前与 IEDriver 和 IE11 桌面应用程序配合使用的已知方案,但在 IE 模式下将 IEDriver 与 Microsoft Edge 配合使用时需要解决方法。

打开新窗口

如果测试代码使用以下方法之一创建新的浏览器窗口,则可能需要在之后添加一个简短的等待操作,以确保 IEDriver 检测到新窗口:

打开在页面脚本中执行 window.open 的新窗口。使用 WebDriver New Window 命令打开新窗口 。

若要确保已成功创建新窗口并检测到 IEDriver,必须持续检查 Get Window Handles 命令的结果,直到它包含新窗口的句柄。

下面的示例演示了在打开新窗口时等待检测到新窗口句柄的可能方法。

C#PythonJavaJavaScript

在 click 打开新窗口的按钮上调用该方法后,测试代码必须等待,直到 driver.window_handles 包含新的窗口句柄。

Python复制

initial_handle_count = len(driver.window_handles) driver.find_element(By.ID, "").click() new_handles = driver.window_handles while len(new_handles) == initial_handle_count: new_handles = driver.window_handles 在选项卡之间创建和切换

如果测试代码在同一 Microsoft Edge 窗口中的多个选项卡之间切换,则“ 获取窗口句柄”返回的句柄列表中可能不包含处于非活动状态的选项卡。 在 Internet Explorer 11 桌面应用程序中,IEDriver 将为 IE 中的所有选项卡返回句柄,而不考虑激活状态。

在 IE 模式下使用 Microsoft Edge 时,如果测试将焦点从某个选项卡切换到某个选项卡,并且希望以后能够切换回该选项卡,则必须存储选项卡窗口句柄的副本。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3