You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Selenium 4.8.1+InternetExplorerDriver的IE模式超时问题求助

解决Selenium IE驱动导航超时(无需关闭保护模式)

针对你遇到的Selenium 4.8.1使用IE驱动(连接Edge IE模式)时导航超时问题,以下是无需关闭保护模式的可行方案:

1. 统一IE所有安全区域的保护模式设置

IE驱动的核心要求是所有安全区域的保护模式状态必须一致(全部开启或全部关闭),而非必须关闭。操作步骤:

  • 打开IE浏览器,点击右上角齿轮图标→「Internet选项」→切换到「安全」标签页
  • 依次选中「Internet」「本地Intranet」「受信任站点」「受限制站点」四个区域
  • 对每个区域勾选(或取消勾选)「启用保护模式」,确保四个区域的状态完全相同
  • 点击「确定」,重启浏览器后重新运行代码

2. 通过注册表配置绕过保护模式检查

如果不想手动修改IE设置,可以通过添加注册表项让驱动自动处理区域不一致问题:

  • 打开注册表编辑器(运行regedit)
  • 根据系统位数选择路径:
    • 32位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
    • 64位系统:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BFCACHE
  • 在该路径下右键新建DWORD(32位)值,分别命名为iexplore.exe和IEDriverServer.exe,将两者的数值数据均设为0
  • 关闭注册表编辑器,重启电脑后运行代码

3. 优化代码配置

移除风险较高的IntroduceInstabilityByIgnoringProtectedModeSettings配置,补充Edge IE模式的必要设置:

var ieOptions = new InternetExplorerOptions();
ieOptions.AttachToEdgeChrome = true;
// 可选:指定Edge浏览器的安装路径(若驱动无法自动识别时添加)
ieOptions.EdgeExecutablePath = @"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe";
// 确保每次会话干净无残留
ieOptions.EnsureCleanSession = true;
// 忽略浏览器缩放级别(需保证缩放为100%,否则可能影响元素定位)
ieOptions.IgnoreZoomLevel = true;

WebDriver driver = new InternetExplorerDriver(ieOptions);
driver.Navigate().GoToUrl("https://bing.com");
driver.FindElement(By.Id("sb_form_q")).SendKeys("Hello world");
driver.FindElement(By.Id("sb_form")).Submit();

额外注意:确保你使用的IEDriverServer.exe版本与Selenium 4.8.1及Edge/IE浏览器版本兼容,建议下载与Selenium版本匹配的驱动包。

内容的提问来源于stack exchange,提问作者Xia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:37:34