如何使用 python 和 selenium 在 Internet Explorer(IE) 模式下打开 Microsoft Edge?

2024-01-02

我有一个网页,其中的弹出窗口仅在 Internet Explorer 中打开,而不能在其他浏览器(包括 Chrome、Fire Fox 和 Edge)中打开。 我必须在无头模式下从此类弹出窗口中提取数据的唯一解决方案是在 Internet Explorer 模式下在边缘加载页面。但是我无法使用 python 在 Edge 中切换到 Internet Explorer 模式。有什么办法可以做到这一点吗?显示需要更改的设置的图像:


从描述中,我了解到您想要使用 IE 模式启动 Edge 浏览器硒蟒蛇 code.

目前我们只能使用 IE 模式启动 Edge 浏览器硒 C# code.

如果您可以将selenium与C#语言一起使用,那么您可以参考以下步骤。

  1. 从以下位置下载最新版本的 IEDriverServer硒站点 https://www.selenium.dev/downloads/.
  2. 使用 Visual Studio 创建 C# 控制台项目。
  3. Install 硒.WebDriver 3.141.0来自 Nuget 包管理器的 NuGet 包。
  4. 将以下代码添加到项目中并修改路径。

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

  1. 运行项目进行测试。

Notes:

  1. 确保在运行代码之前关闭所有 Edge 浏览器选项卡和窗口。
  2. 在代码中使用完整路径。

例如:ieOptions.AddAdditionalCapability("ie.edgepath", @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe");.

有用的参考资料:

  1. 自动化 Internet Explorer 模式 https://blogs.windows.com/msedgedev/2019/11/04/edge-chromium-release-candidate-get-ready/
  2. webdriver-edge-ie-mode.cs https://gist.github.com/kypflug/4e8291e6ee65929944f8ba74b1575dd8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 python 和 selenium 在 Internet Explorer(IE) 模式下打开 Microsoft Edge? 的相关文章

随机推荐

  • 从文本块中删除停用词

    我正在处理一个文本块 步骤之一是删除停用词 Textblob 是不可变的 因此我将其转换为列表来完成这项工作 blob tb tekst lista word for word in blob words if word not in st
  • 可以同时延长2个课程吗?

    我有这些课程 public class myClassPage System Web UI Page public myClassPage public class myClassControl System Web UI UserCont
  • 碰撞检测和碰撞响应

    我一直在尝试使用 androids Opengl 来表示一些移动 旋转的对象 现在我想让他们碰撞并做出现实的反应 通过研究这个问题 我可以找到许多资源 这些资源建议我如何确定两个 3D 形状是否在当前帧中发生碰撞 或者它们是否会在下一帧中发
  • 有效合并大镶木地板文件

    我正在使用 parquet tools 来合并 parquet 文件 但 parquet tools 似乎需要与合并文件一样大的内存 我们是否有其他方法或 parquet tools 中的可配置选项来更有效地使用内存 因为我在 hadoop
  • 如何在android中的textview中缩进文本?

    我试图通过制作单独的段落来使文本更容易阅读 我尝试在字符串资源中的文本之前添加空格 但它不起作用 我想知道是否可以向文本视图或字符串资源本身添加属性 谢谢罗布 您可以使用 t 表示制表符 n 表示换行符 它肯定有效 并将此属性写入 xml
  • 无法使用 var 和 foreach 将 void 分配给隐式类型局部变量

    我正在尝试列出表单中的所有按钮名称以使用代码列出 var v new List
  • 如何阅读 FSM 图

    我如何获取该图并将其转换为可用的程序 我不太确定如何阅读该图 引导我完成它 也许会展示一个代码示例以及它与图表的关系 里面有文字的圆圈是州 文本描述了状态是什么 虚线箭头指向起始状态 传出箭头确定此状态可以更改的位置 箭头旁边是被线分为上半
  • Lua中如何快速初始化关联表?

    在Lua中 您可以通过以下方式创建表 local t 1 2 3 4 5 但是 我想创建一个关联表 我必须按以下方式进行 local t t foo 1 t bar 2 下面给出了一个错误 local t foo 1 bar 2 有没有办法
  • 在 QML 中解析 JSON [重复]

    这个问题在这里已经有答案了 相关的 Qt 文档应该是this http doc qt io qt 5 json html 但它没有提到 QML 然而 在网上的许多地方 我发现了类似功能的用法JSON parse在 QML JS 中 有这样的
  • 如何将 MediatR 与我的业务层解耦

    早上好 我在项目中使用域事件 我发现实现它的最简单方法是使用 MediatR 但我不希望我的项目直接依赖它 我想应用依赖倒置来隐藏库 由于 INotification 接口 当前代码依赖于 Mediator public class Ema
  • 片段已在 viewpager 中添加了 IllegalStateException

    我正在使用 viewpager 来显示图片 我基本上只需要三个片段 上一个要预览的图像 当前显示的图像和下一个要预览的图像 我想只显示上一张和下一张图像的预览 当用户实际滑动到它时 它将更改为完整图像 所以我想只使用 3 个片段来实现这一点
  • Ellipsoid R 函数 - 查找一个点是否适合 - R 脚本

    我有一个 3D 椭球函数 ellipsoid lt function center c 0 0 0 radius 1 shape diag 3 segments 51 angles lt 0 segments 2 pi segments e
  • 如何从返回根参数和数组的 JSON API 调用创建 Backbone Collection

    Backbone js 菜鸟在这里 我想从我的应用程序外部的 JSON API 创建一个集合 具体来说 api来自堆栈溢出 http api stackoverflow com 1 1 我知道我应该从这样的集合中设置 url 参数 App
  • 错误:连接超时:连接。如果您使用 HTTP 代理,请在 IDE 或 Gradle 中配置代理设置

    我厌倦了这个错误 我不知道如何解决这个错误 它没有设置为自动配置模式 我正在尝试自动配置它 但它需要自动配置 URL 我不知道该 URL 它给我们导入的所有项目带来了同样的错误 请帮助这个错误 我已经尝试了很多天了 如果您不使用任何代理 那
  • CDN如何访问数据库?

    具体来说 我将使用的数据库是 mongodb 有问题的文件是图像 我的问题是 如果您将图片存储在数据库中而不是常规的静态文件结构中 这是如何工作的 我想您可以将 CDN 文件的链接与图片一起存储在数据库中 所以 image cdnurl f
  • 如何动态更改 R 中现有函数的一行

    我偶尔会遇到带有限制性参数的函数 这些社区贡献的函数绝对很棒 否则我希望能够定义一个新函数 动态地改变困扰我的行为 而不必将整个函数重写到脚本文件中 我知道如何在 R 中可视化函数 只需键入函数名称即可 但是如何用修改后的定义保存 修改和定
  • Android神秘的空指针异常

    自从我上传我的应用程序以来 我收到了许多 java lang NullPointerException 崩溃报告 我正在努力理解这个问题 因为它不会在我亲自测试过的模拟器或物理设备上崩溃 以下是其中一份报告的示例 java lang Ill
  • 在Boost几何C++库中我添加的点的顺序重要吗?

    我是 boost 的新手 甚至是 boost geometry 的新手 所以我的问题是 boost geometry 向多边形添加点的顺序重要吗 例如 这一样吗 create a polygon polygon p p outer push
  • 获取前导空白

    我刚刚写了这个方法 我想知道框架中是否已经存在类似的东西 这似乎只是这些方法之一 如果没有 有更好的方法吗
  • 如何使用 python 和 selenium 在 Internet Explorer(IE) 模式下打开 Microsoft Edge?

    我有一个网页 其中的弹出窗口仅在 Internet Explorer 中打开 而不能在其他浏览器 包括 Chrome Fire Fox 和 Edge 中打开 我必须在无头模式下从此类弹出窗口中提取数据的唯一解决方案是在 Internet E