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

  • 项目
  • 2022/06/30
  • 1 个参与者

如果拥有业务关键型旧版网站或应用,则可能需要在 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:

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

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

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

完整示例

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

Python复制

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keysie_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 。

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

  2. 将属性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#
  • Python
  • Java
  • JavaScript

通过调用 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#
  • Python
  • Java
  • JavaScript

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

Python复制

initial_handle_count = len(driver.window_handles)
driver.find_element(By.ID, "<Id of the button that will open a new window>").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 时,如果测试将焦点从某个选项卡切换到某个选项卡,并且希望以后能够切换回该选项卡,则必须存储选项卡窗口句柄的副本。

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

  1. 实战 Windows 10 Microsoft Edge 中的多媒体投影功能

    当 Windows 10  升级到 Build 10576,Microsoft Edge 多了一项功能,就是"将媒体转移到设备上播放(如图 1 )"英文叫做"Cast m ...

  2. Microsoft Edge 中的ie浏览器图标、右击新标签页打开功能的关闭方法

    本篇文章主要讲解 Microsoft Edge 中的ie浏览器图标.新标签页打开功能 的关闭方法 日期:2022年1月20日 作者:任聪聪 主要现象 说明:在edge浏览器中支持ie浏览器内置打开老版 ...

  3. 包括edge,Chrome,火狐、百度,360等浏览器怎么全屏_如何在Microsoft Edge中启用和禁用全屏模式以及解决浏览器无法开启或关闭全屏的问题

    文章目录 1. 引出问题 2. 解决问题 2.1 使用缩放菜单 2.2 Win + Shift + Enter窍门 2.3 最大化与全屏模式 2.4 以全屏模式观看网络视频 3. 重要总结 4. 解决 ...

  4. 关闭edge任务栏预览_如何在Microsoft Edge中关闭选项卡预览

    关闭edge任务栏预览 Now that it has extension support, Microsoft Edge is becoming a more and more viable bro ...

  5. 系统重装助手教你如何在Microsoft Edge中恢复“关闭所有选项卡”警告

    在Microsoft Edge中,当您打开多个选项卡时,浏览器将显示"您要关闭所有选项卡吗?" 警告,以防止您意外关闭重要标签. 通常,在没有第二个想法的情况下,您会立即禁用此功能 ...

  6. edge 禁止网页自动刷新_如何在Microsoft Edge中自动翻译网页

    edge 禁止网页自动刷新 Microsoft 微软 The new version of Microsoft's Edge browser features automatic translatio ...

  7. edge 看pdf阅读视图_如何在Microsoft Edge中使用阅读视图

    edge 看pdf阅读视图 The Reading View in Microsoft Edge removes ads and unnecessary images, simplifying pag ...

  8. 在Microsoft Edge中选择了“始终允许在关联的应用中打开此类链接”,如何取消关联?

    在Microsoft Edge中选择了"始终关联的xx应用中打开此类链接",如何取消关联? 如图 点击"打开"的时候突然看到"始终允许..." ...

  9. 史上最全Microsoft Edge 中的键盘快捷方式!(建议收藏!)

    Ctrl + Shift + B 显示或隐藏收藏夹栏 Alt + Shift + B 将焦点放在收藏夹栏中的第一项上 Ctrl + D 将当前选项卡另存为收藏夹 Ctrl + Shift + D 在新 ...

最新文章

  1. 【ZooKeeper Notes 15】Watcher使用的注意事项
  2. nag在逆向中是什么意思_OD 实验(四) - 去除 NAG 窗口的几种方法
  3. Caffe官方教程翻译(5):Classification: Instant Recognition with Caffe
  4. 无法转化为项目财富的技术或功能就是垃圾
  5. DeathRansom:一款教育目的的Python勒索软件开发平台
  6. 情人节集体撤档,《肥龙过江》改网播,线上首映会成为常态吗?
  7. PHP学习总结(6)——PHP入门篇之PHP语句结束符
  8. 人物结局 归德侯府_影视里的唐伯虎抱得美人归 历史上的他结局又是什么样呢?...
  9. springloaded热加载
  10. 值类型和引用类型的区别?
  11. red hat linux yum,Red Hat Linux安装CentOS的yum源
  12. 飞机遭遇时空乱流离奇穿越到30年前
  13. VSCode摸鱼插件,让工作更轻松
  14. Assign arrow function to a variable before exporting as module default import/no-anonymous-default-
  15. 云科技网络验证源码_APK云科技网络验证-APK一键加网络验证一键加弹窗引流
  16. 用数据全方位解读《欢乐颂2》
  17. What‘s next for AlphaFold and the AI protein-folding revolution / 什么是AlphaFold和AI蛋白质折叠革命的下一步?
  18. HLS调用vitis库
  19. JavaScript - 简介
  20. Apache的Order Allow,Deny 配置详解

热门文章

  1. 【离线数仓-2-数据采集】
  2. rust油桶用什么打_腐蚀rust新手入门指南 游戏新萌拿好不谢!
  3. MATLAB调用.cpt文件的调色板
  4. “看到新同事的工资后,我退出了群聊”
  5. input file 的美化
  6. 前沿聚焦:2022最受关注的六大技术热词,你都知道吗?
  7. AMD GPU(A卡)+Tensorflow+Anaconda+ubuntu18.04.2 安装方法
  8. android程序变成ios,java – 如何将Android应用程序移植到iOS平台?
  9. 【渝粤题库】国家开放大学2021春2727税收基础题目
  10. oracle dba_users,dba_users字典以及用户管理