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

IE11下Selenium IE WebDriver无法跳转目标页面,请求技术协助

解决IE WebDriver停留在初始页面的问题

我之前也踩过IE驱动这个坑,给你几个针对性的排查和解决步骤,应该能搞定:

1. 重点检查「增强保护模式」设置

虽然你已经启用了所有受保护区域,但32位IE的增强保护模式是常见的罪魁祸首:

  • 打开IE的「Internet选项」→「高级」标签
  • 找到“安全”分类下的「启用增强保护模式」,务必确保这个选项是未勾选状态
  • 重启IE后再运行代码测试

2. 给IE驱动加上必要的初始化配置

直接裸实例化InternetExplorerDriver很容易触发IE的安全限制,试试加上这些参数:

public static void Main(string[] args) {
    var options = new InternetExplorerOptions();
    // 忽略不同区域的保护模式差异(避免启动失败)
    options.IntroduceInstabilityByIgnoringProtectedModeSettings = true;
    // 强制禁用增强保护模式
    options.EnhancedProtectedMode = false;
    // 忽略IE的缩放比例(必须确保IE缩放是100%,否则也会出问题)
    options.IgnoreZoomLevel = true;
    // 启用原生事件,保证页面交互正常
    options.NativeEvents = true;

    IWebDriver driver = new InternetExplorerDriver(options);
    string url = @"http://www.google.com";
    driver.Navigate().GoToUrl(url);
    Thread.Sleep(10000);
    Console.WriteLine("Ending");
    driver.Quit();
}

3. 再次确认驱动与浏览器的位数匹配

你提到用的是32位IE和32位驱动,再仔细核对下:

  • 打开IE,点击「帮助」→「关于Internet Explorer」,确认页面里明确显示“32位版本”
  • 下载的IE驱动文件(IEDriverServer.exe)要和浏览器位数完全一致,千万别混用64位驱动

4. 排查代理与防火墙限制

有时候IE的代理设置会阻止WebDriver加载外部站点:

  • 打开IE的「Internet选项」→「连接」→「局域网设置」
  • 确认代理服务器是关闭状态,或者已经配置了可以正常访问google.com的代理
  • 同时检查本地防火墙是否拦截了IEDriverServer的网络请求

5. 用本地页面做测试排查

先创建一个简单的test.html文件(内容比如<h1>Test Page</h1>),把代码里的url改成本地文件路径(例如@"C:\test.html"):

  • 如果本地页面能正常加载,说明问题出在外部网络访问,可能是IE的安全策略、防火墙或代理限制了外部站点
  • 如果本地页面也加载失败,那大概率是驱动的配置或兼容性问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:38:06