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

Selenium报错org.openqa.selenium.remote.http.ConnectionFailedException求助

解决Selenium无法建立WebSocket连接的排查方案

1. 核对ChromeDriver与Chrome版本一致性

这是触发该报错的最常见原因——ChromeDriver版本必须和本地安装的Chrome浏览器主版本完全匹配。比如Chrome是118.x系列,ChromeDriver也得用118.x的对应版本。

  • 查看Chrome版本:打开Chrome后访问chrome://settings/help
  • 下载对应版本的ChromeDriver,确保主版本号完全对齐

2. 补充ChromeOptions参数

除了你已添加的参数,试试追加这些配置:

options.addArguments("--disable-web-security");
options.addArguments("--allow-running-insecure-content");
options.addArguments("--disable-gpu");
options.addArguments("--disable-features=VizDisplayCompositor");
options.addArguments("--remote-debugging-port=9222"); // 指定固定调试端口,避免端口冲突

注意初始化Driver时要正确传入配置好的Options对象:

ChromeDriver driver = new ChromeDriver(options);

3. 排查网络与代理环境

  • 如果你的网络需要代理,必须在ChromeOptions中配置对应代理信息:
Proxy proxy = new Proxy();
proxy.setHttpProxy("你的代理地址:端口");
proxy.setSslProxy("你的代理地址:端口");
options.setProxy(proxy);
  • 临时关闭本地防火墙、杀毒软件,这类工具可能会拦截Selenium与浏览器之间的WebSocket连接

4. 升级Selenium依赖版本

旧版Selenium和新版Chrome存在兼容性问题的概率很高,直接升级到最新稳定版。比如Maven项目可以更新依赖:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-java</artifactId>
    <version>4.15.0</version> <!-- 替换为当前最新稳定版本 -->
</dependency>

5. 手动启动ChromeDriverService

自动启动Driver时偶尔会出现进程异常,试试手动启动服务:

ChromeDriverService service = new ChromeDriverService.Builder()
    .usingDriverExecutable(new File("你的ChromeDriver文件路径"))
    .usingAnyFreePort()
    .build();
service.start();
ChromeDriver driver = new ChromeDriver(service, options);

6. 验证目标网站的WebSocket可用性

先用手动方式打开Chrome访问目标网站,按F12打开开发者工具,切换到Network -> WS标签,观察是否能正常建立WebSocket连接。如果手动访问也失败,那问题可能出在目标网站本身,而非你的代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 05:33:28