如何解决如何使用 python 和 selenium 在 Internet ExplorerIE模式下打开 Microsoft Edge?
我有一个网页,其中弹出窗口只能在 Internet Explorer 中打开,而不能在其他浏览器(包括 chrome、fire fox 和 edge)中打开。 我必须在无头模式下从此类弹出窗口中提取数据的唯一解决方案是在 Internet Explorer 模式下在边缘加载页面。但是我无法使用 python 在边缘切换到 Internet Explorer 模式。有什么办法可以做到吗?显示需要更改的设置的图像:
解决方法
从描述中,我了解到您想使用 Selenium Python 代码以 IE 模式启动 Edge 浏览器。
目前我们只能使用Selenium C#代码启动IE模式的Edge浏览器。
如果您可以在 C# 语言中使用 selenium,那么您可以参考以下步骤。
- 从 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...";
}
- 运行项目进行测试。
注意事项:
- 确保在运行代码之前关闭所有 Edge 浏览器选项卡和窗口。
- 在代码中使用完整路径。
例如:ieOptions.AddAdditionalCapability("ie.edgepath",@"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe");
。
有用的参考资料:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。