Python Internet Explorer 模式下的 Selenium Edge 浏览器

Python Selenium Edge Browser in Internet Explorer mode

我得到了一个与 Internet Explorer 兼容的网站。 我们激活了 Edge Internet Explorer 模式选项,但我无法使用 Selenium 处理该网站。有什么方法可以在 Selenium 中使用 IE 模式和 Edge 吗?

目前 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..."; 
}

您需要从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/')

注意:将代码中的路径更改为您自己的。

结果: