【发布时间】:2021-08-02 07:20:33
【问题描述】:
我有一个与 Internet Explorer 兼容的网站。 我们激活了 Edge Internet Explorer 模式选项,但我无法使用 Selenium 处理网站。有什么方法可以在 Selenium 中使用带有 Edge 的 IE 模式?
【问题讨论】:
标签: python selenium internet-explorer microsoft-edge
我有一个与 Internet Explorer 兼容的网站。 我们激活了 Edge Internet Explorer 模式选项,但我无法使用 Selenium 处理网站。有什么方法可以在 Selenium 中使用带有 Edge 的 IE 模式?
【问题讨论】:
标签: python selenium internet-explorer microsoft-edge
您需要从this link下载推荐版本的IE Driver Server,然后参考下面的代码在Python中的Selenium中使用Edge IE模式:
from selenium import webdriver
ieOptions = webdriver.IeOptions()
ieOptions.add_additional_option("ie.edgechromium", True)
ieOptions.add_additional_option("ie.edgepath",'C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe')
driver = webdriver.Ie(executable_path='E:\webdriver\IEDriverServer.exe', options=ieOptions)
driver.maximize_window()
driver.get('https://www.google.com/')
注意:将代码中的路径更改为您自己的。
结果:
【讨论】:
目前没有适用于 Python 的 Edge 浏览器 IE 模式选项 但是C#中有一个选项
如果你熟悉 C#,可以按照以下步骤操作
从Selenium site下载最新版本的IEDriverServer。
使用 Visual Studio 创建一个 C# 控制台项目。
从 Nuget 包管理器安装 Selenium.WebDriver 3.141.0 NuGet 包。
将以下代码添加到项目中并修改路径。
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", "{FULL_PATH_TO_MSEDGE.EXE}");
var webdriver = new InternetExplorerDriver(ieService, ieOptions, TimeSpan.FromSeconds(30));
webdriver.Url = "http://Your_Site_URL_here...";
}
【讨论】: