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

Edge IE模式下Selenium断开服务器后会话启动失败问题求助

问题描述
  • 使用Selenium IE Driver 4.7在Microsoft Edge的IE模式下运行自动化代码,初始可正常执行,但断开服务器一段时间后出现错误:Error communicating with the remote browser.It may have died.
  • 后续再次运行代码会触发错误:Could not start new session
  • 相同代码在原生IE浏览器中断开服务器后仍可正常运行
现有调用Edge IE模式的代码
System.setProperty("webdriver.ie.driver", "IE Driver Path"); 
InternetExplorerOptions ieOptions = new InternetExplorerOptions();

ieOptions.attachToEdgeChrome();
ieOptions.ignoreZoomSettings();
ieOptions.withEdgeExecutablePath("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe");

driver = new InternetExplorerDriver(ieOptions);

driver.manage().deleteAllCookies();
driver.manage().window().maximize();
driver.get("https://www.finacle.com");
已尝试的方案
  • 更换Selenium IE Driver版本至4.2,问题未解决
  • 当前使用Selenium Jar版本为4.2.2
解决方案

1. 确保会话资源彻底释放

在代码执行完成或异常终止时,必须显式调用driver.quit()而非driver.close(),quit()会终止整个驱动进程并释放所有关联资源,避免残留进程占用端口或导致会话冲突。建议用try-finally块保证资源回收:

InternetExplorerDriver driver = null;
try {
    System.setProperty("webdriver.ie.driver", "IE Driver Path"); 
    InternetExplorerOptions ieOptions = new InternetExplorerOptions();

    ieOptions.attachToEdgeChrome();
    ieOptions.ignoreZoomSettings();
    ieOptions.withEdgeExecutablePath("C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe");
    
    // 强制清理旧会话残留
    ieOptions.setCapability("ensureCleanSession", true);
    // 设置会话超时时间(单位:毫秒,示例为1小时)
    ieOptions.setCapability("ie.edgeSessionTimeout", 3600000);

    driver = new InternetExplorerDriver(ieOptions);

    driver.manage().deleteAllCookies();
    driver.manage().window().maximize();
    driver.get("https://www.finacle.com");
    
    // 执行自动化操作逻辑
} catch (Exception e) {
    e.printStackTrace();
} finally {
    if (driver != null) {
        driver.quit(); // 必须调用quit释放所有资源
    }
}

2. 调整Edge IE模式系统设置

  • 打开Edge浏览器,进入「设置」→「默认浏览器」→「Internet Explorer兼容性」
  • 点击「Internet Explorer模式页面」旁的「管理」按钮
  • 关闭「关闭IE模式标签页时关闭IE模式进程」选项,避免闲置时Edge自动回收IE模式进程

3. 升级Selenium及驱动版本

  • 将Selenium Jar升级至最新稳定版(如4.15.0),同时匹配对应版本的IE Driver,旧版本可能存在Edge IE模式下的会话管理兼容性bug
  • 确保Microsoft Edge浏览器为最新版本,避免浏览器与驱动版本不匹配

4. 开启驱动日志排查

添加日志配置,便于定位进程异常终止的具体原因:

// 在设置驱动属性前添加
System.setProperty("webdriver.ie.driver.logfile", "ie_driver.log");
System.setProperty("webdriver.ie.driver.loglevel", "INFO");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:47:04