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

Selenium IE Driver启动浏览器超时,疑受Edge跟踪防护干扰

问题描述

我开发了一款用Selenium实现自动化数据采集的应用,上周起IE Driver代码突然失效。因为对接设备都用IE8、IE11,常规Edge没法正常加载页面,所以只能用IE Driver。最近更新Edge版本后,Selenium代码受影响:IE Driver能启动浏览器,但会超时。不过如果在60秒超时前手动关闭Edge跟踪防护,代码就能正常运行。

试过适配MS Edge测试,果然遇到SSL证书不兼容问题(ERR_SSL_KEY_USAGE_INCOMPATIBLE),手动开IE模式刷新能绕过,但这不是我要的解决方案。

请问有没有办法在IE Driver里规避Edge跟踪防护的影响?

环境规格

Selenium规格

  • Selenium.WebDriver 版本4.24.0
  • Selenium.WebDriver.IEDriver 版本4.14.0
  • Selenium.Support 版本4.24.0

MS Edge规格

  • Microsoft Edge 128.0.2739.42(官方版本,64位)
  • 版本修订号:015505d79c9432c75e2a9131c445776c61af592
  • Chromium版本:128.0.6613.85
  • 操作系统:Windows 10 Version 22H2(内部版本19045.4780)
  • JavaScript引擎:V8 12.8.36.6

相关代码

我试过加和不加ieOptions.BrowserCommandLineArguments的情况,也试过不指定初始URL启动,仅启动基础IE Driver实例也会出现同样问题:

var ieOptions = new InternetExplorerOptions
{
    AttachToEdgeChrome = true,
    EdgeExecutablePath = "C:/Program Files (x86)/Microsoft/Edge/Application/msedge.exe",
    //ieOptions.PageLoadStrategy = PageLoadStrategy.Eager;
    IntroduceInstabilityByIgnoringProtectedModeSettings = true,
    InitialBrowserUrl = Url,
    IgnoreZoomLevel = true,
    RequireWindowFocus = false,
    //AcceptInsecureCertificates = true,
    //ForceCreateProcessApi = true,
};
ieOptions.BrowserCommandLineArguments = "--disable-features=msEnhancedTrackingPreventionEnabled --ignore-certificate-errors --allow-running-insecure-content --allow-insecure-localhost";
ieOptions.SetLoggingPreference(LogType.Browser, LogLevel.Off);
ieOptions.SetLoggingPreference(LogType.Client, LogLevel.Off);
ieOptions.SetLoggingPreference(LogType.Driver, LogLevel.Off);
ieOptions.SetLoggingPreference(LogType.Profiler, LogLevel.Off);
ieOptions.SetLoggingPreference(LogType.Server, LogLevel.Off);
var driverService = InternetExplorerDriverService.CreateDefaultService();
driverService.HideCommandPromptWindow = true;
IWebDriver driver = new InternetExplorerDriver(driverService, ieOptions);
driver.Manage().Window.Maximize();
解决方案

针对Edge跟踪防护导致IE Driver超时的问题,可尝试以下几种方法:

1. 用组策略禁用Edge跟踪防护

通过组策略强制关闭增强跟踪防护,让自动化启动的Edge实例默认生效:

  • 打开本地组策略编辑器(运行gpedit.msc)
  • 导航到计算机配置 > 管理模板 > Microsoft Edge
  • 找到配置增强型跟踪防护策略,设置为已禁用
  • 重启Edge后生效

2. 修改Edge用户配置文件

直接修改自动化使用的Edge配置文件,默认关闭跟踪防护:

  • 找到Edge用户数据目录(默认路径:C:\Users\<你的用户名>\AppData\Local\Microsoft\Edge\User Data)
  • 打开Default\Preferences文件,找到enhanced_tracking_prevention相关配置,将level设为0(0=关闭,1=基本,2=严格)
  • 保存文件后,IE Driver启动时会沿用该配置

3. 修正命令行参数

你当前用的--disable-features=msEnhancedTrackingPreventionEnabled可能在新版本Edge中失效,尝试替换为更全面的参数:

ieOptions.BrowserCommandLineArguments = "--disable-features=EnhancedTrackingPrevention,msEnhancedTrackingPreventionEnabled --ignore-certificate-errors --allow-running-insecure-content --allow-insecure-localhost";

同时确保AttachToEdgeChrome和EdgeExecutablePath配置正确,避免Edge默认配置覆盖命令行参数。

4. 降级Edge到之前可用版本

如果上述方法都无效,可暂时回退到更新前的Edge版本:

  • 从微软官网下载对应旧版本安装包
  • 安装时选择覆盖现有版本,再通过组策略设置阻止Edge自动更新

另外针对SSL证书问题,除了手动开IE模式,还可以尝试:

  • 在InternetExplorerOptions中添加ieOptions.AddAdditionalCapability("ie.edgechromium", true);(适配部分版本)
  • 把目标站点添加到IE的受信任站点,并降低对应区域的安全级别

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 05:26:15