如何在Python中使用Selenium IE驱动,无需配置IE全区域保护模式?
解决Selenium IE驱动受保护模式设置限制的问题
我太懂你这种无奈了——组织不让改IE的区域保护模式设置,但又得用Selenium跑IE驱动,刚好你碰到的这个SessionNotCreatedException我之前帮好几个开发者处理过,其实有现成的变通方案!
你已经尝试了INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS这个配置,但可能还需要补充几个细节让它真正生效。先给你修正后的完整代码:
from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities # 复制IE的默认能力配置 capabilities = DesiredCapabilities.INTERNETEXPLORER.copy() # 核心配置:跳过不同区域的保护模式一致性检查 capabilities['INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS'] = True # 额外配置:忽略IE的缩放级别要求(很多场景下IE缩放不是100%也会触发报错) capabilities['ignoreZoomSetting'] = True # 初始化IE驱动,请替换成你实际的IEDriverServer路径 driver = webdriver.Ie( executable_path=r'C:\Users\Harsha\Videos\waterbox\IEDriverServer.exe', capabilities=capabilities ) driver.get('https://google.com')
几个关键注意点:
INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS这个参数就是Selenium官方为无法修改IE设置的场景提供的“后门”,它会强制驱动跳过保护模式的校验逻辑。- 一定要保证IEDriverServer的版本和你的IE浏览器版本完全匹配,比如IE11就要用对应版本的驱动,版本不兼容的话即使加了配置也可能报错。
- 如果你的IE开启了“增强保护模式”,这个参数也能覆盖大部分情况,但如果还是有问题,可能需要联系IT部门确认组策略是否有额外限制,但一般来说上面的配置就足够解决问题了。
内容的提问来源于stack exchange,提问作者Harshapriya Chatnalkar
相关产品推荐
相关产品推荐

