selenium 使用 IEDriverServer 报安全策略不一致解决方式
我的代码
from selenium import webdriver
# 指定IE WebDriver的路径
ie_driver_path = './IEDriverServer.exe'
# 初始化IE WebDriver
ie_driver = webdriver.Ie(executable_path=ie_driver_path)
报错说保护模式不一致
这是官方文档给的解释:
在Windows Vista, Windows 7或Windows 10上的IE 7或更高版本上, 必须将每个区域的保护模式设置设置为相同的值. 该值可以打开或关闭, 只要每个区域的值相同. 要设置受保护模式设置, 请从“工具”菜单中选择“Internet选项…”, 然后单击“安全”选项卡. 对于每个区域, 标签底部将有一个复选框, 标记为“启用保护模式”.
但我在 win10 的 Internet 中没有找到这个选项
最终解决方案是(方法二):
在较新的 Windows 10 和 Windows 11 版本中,“启用保护模式”选项默认是隐藏的或已集成到系统的安全管理中,因此在“Internet 选项”中可能无法直接找到。如果您想控制浏览器的保护模式,可以尝试以下方法:
方法一:通过组策略编辑器禁用保护模式
打开组策略编辑器:按下Win + R,输入gpedit.msc,然后按回车(如果没有此功能,可能需要 Windows 专业版或企业版)。
导航到 Internet Explorer 设置:
依次进入“计算机配置” > “管理模板” > “Windows 组件” > “Internet Explorer” > “Internet 控制面板” > “安全页面”。
禁用保护模式:
在右侧找到“在所有区域启用保护模式”选项。
双击打开,并选择“已禁用”。
点击“应用”并“确定”保存设置。
重启电脑以使更改生效。
方法二:通过注册表编辑器禁用保护模式
打开注册表编辑器:按下Win + R,输入regedit,按回车。
导航到相应的注册表路径:
进入路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3。
数字 3 代表“Internet”区域。如果要更改其他区域,1 代表“本地 Intranet”,2 代表“受信任的站点”,4 代表“受限制的站点”。
修改 2500 键值:
找到名称为2500的 DWORD 值。
修改其值为 3(表示禁用保护模式),或者 0(表示启用保护模式)。
如果没有 2500 键值,可以右键新建 DWORD 值,并命名为 2500,然后设置为 3。
重启电脑以使更改生效。
注意事项
禁用保护模式会降低安全性,建议只在必要的受控环境下使用。