如何通过Selenium直接打开处于IE兼容模式的Edge窗口?
用Selenium打开IE兼容模式Edge窗口的解决方案
问题核心在于Selenium默认启动Edge时会加载干净的临时配置文件,导致你之前设置的IE模式规则不生效,甚至重置浏览器设置。以下是可行的代码实现方案:
方法1:复用已有用户配置文件启动
如果你已经在Edge手动配置好了IE模式的站点规则,直接让Selenium复用你的用户配置文件即可:
Python代码示例
from selenium import webdriver from selenium.webdriver.edge.options import Options edge_options = Options() # 替换为你的Edge个人资料路径,可在edge://version页面查看"个人资料路径" edge_options.add_argument(r"user-data-dir=C:\Users\你的用户名\AppData\Local\Microsoft\Edge\User Data") # 指定默认配置文件(多配置文件时可修改对应名称) edge_options.add_argument("profile-directory=Default") # 启动Edge,自动复用已有IE模式设置 driver = webdriver.Edge(options=edge_options) driver.get("需要用IE模式打开的网站地址")
方法2:通过启动参数强制开启IE模式
如果不想复用用户配置,可直接通过参数强制开启IE模式:
Python代码示例
from selenium import webdriver from selenium.webdriver.edge.options import Options edge_options = Options() # 强制开启IE模式 edge_options.add_argument("--ie-mode") # 可选:指定默认触发IE模式的站点 edge_options.add_argument("--ie-site-list=https://目标网站地址") driver = webdriver.Edge(options=edge_options) driver.get("https://目标网站地址")
注意事项
- 运行代码前必须关闭所有已打开的Edge窗口,否则Selenium无法加载指定配置文件,会触发报错。
- 方法1需确保你已在Edge手动完成IE模式站点规则配置(比如将目标网站加入IE模式列表)。
- 若
--ie-mode参数不生效,可尝试替换为--force-ie-mode参数(适配部分Edge版本)。
内容的提问来源于stack exchange,提问作者TaeGon Lim
相关产品推荐
相关产品推荐

