• 项目
  • 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 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#
  • Python
  • Java
  • JavaScript
  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 检测到新窗口:

若要确保已成功创建新窗口并检测到 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 时,如果测试将焦点从某个选项卡切换到某个选项卡,并且希望以后能够切换回该选项卡,则必须存储选项卡窗口句柄的副本。

原文链接:https://docs.microsoft.com/zh-cn/microsoft-edge/webdriver-chromium/ie-mode?tabs=python 近期,你会发现一打开IE浏览器就会直接跳转到Microsoft Edge,虽然现在微软已经停止了IE浏览器的服务,但是IE浏览器确是我们一些网站还是要用得到的,接下来几步教你如何快速简单解决这个难题。 IE已经合并进Edge浏览器的解决办法,打开IE自动跳转到Edge浏览器的解决办法 当我们需要用到webdriver.Edge(),如果没有安装相应的驱动,就会运行错误,显示: 'edgedriver' executable needs to be in PATH. 这是我们需要来到这个网址: https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ 下载你电脑Microsoft Edge对应的版本的WebDriver。 查看电脑浏览器的版本型号方法如下: from selenium impor 最近更新的Edge浏览器有着谷歌内核,而且可以在无插件情况下访问拓展商店,可以作为谷歌浏览器的替代品 将msedgedriver.exe放在python.exe同目录下 driver_url为下载的msedgedriver.exe所在位置 Egde浏览器下载链接: https://www.microsoft.com/zh-cn/edge?form=MI13F4&OCID=MI13F4 msedgedriver.exe下载链接:(看清版本号) https://developer.microsoft.c """获取浏览器打开本地浏览器打开远程浏览器关闭浏览器打开网址最大化最小化标题url刷新python对selenium封装浏览器调用------browser.py文件"""from selenium import webdriverfrom common.tools.rw_ini import read_configfrom .base import baseclass browser(base... Selenium Webdriver启动IE浏览器需要使用到IE浏览器的驱动InternetExplorerDriver,一个exe文件,所以首先需要下载InternetExplorerDriver。 具体启动步骤: 1. 下载InternetExplorerDriver,从这里下载 推荐下载32位的,比64位的更稳定些。这个zip文件解压后,就得到IEDriverServer.exe... Selenium支持市场上所有主要浏览器,如Chrome、Firefox、Internet ExplorerEdge、Opera和Safari。WebDriver尽量使用浏览器内置的自动化支持来驱动浏览器。selenium对浏览器的操作主要包括打开关闭浏览器,获取浏览器的信息(比如标题、网址等),定位网页的元素,远程操控浏览器等,其,最重要的部分就是定位网页的元素。1、打开Chrome浏览器。注意, Chrome浏览器和chromedriver的版本必须与主版本匹配。 2、打开Edge浏览器。与Ch