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

Java-Selenium执行driver.quit()时遇Connection Reset错误求助

解决Java-Selenium执行driver.quit()时的Connection reset错误

可能的原因及对应修复方案

1. ChromeDriver与Chrome版本的微小版本差异

虽然主版本匹配,但Chrome版本111.0.5563.65和ChromeDriver版本111.0.5563.64的微小版本号不一致,可能导致通信异常。

  • 修复:下载与Chrome完全匹配版本的ChromeDriver(111.0.5563.65)替换当前驱动。

2. Selenium 4.8.x的WebSocket连接处理缺陷

Selenium 4.x依赖WebSocket与ChromeDriver通信,4.8.x版本在quit()时可能存在未正确关闭连接的问题。

  • 修复:升级至Selenium 4.9.0及以上版本(后续版本修复了多个WebSocket相关bug);若暂时无法升级,可尝试在quit()前先执行close():
try {
    driver.close();
} catch (Exception e) {
    // 忽略close操作的异常
}
driver.quit();

3. JDK版本兼容性问题

报错堆栈显示使用Java base模块,部分早期JDK 17版本与Selenium依赖的Netty组件存在Socket通信兼容性问题。

  • 修复:切换至JDK 11或稳定版JDK 17(如17.0.6及以上版本)。

4. Chrome后台进程残留

ChromeDriver退出时可能无法彻底清理Chrome进程,导致Socket连接被强制重置。

  • 修复:在driver.quit()后手动清理相关进程:
    • Windows:执行命令 taskkill /F /IM chrome.exe /IM chromedriver.exe
    • Linux/macOS:执行命令 pkill -f chrome && pkill -f chromedriver

5. 代理或防火墙干扰

环境中的代理、防火墙可能中断ChromeDriver与浏览器的本地WebSocket连接。

  • 修复:关闭代理或防火墙,或将ChromeDriver、Chrome加入防火墙白名单,确保本地通信不受限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:42:52