Selenoid远程连接失败:java.net.ConnectException超时问题求助
问题排查与解决
核心问题分析
你的代码明确指定了Selenoid Hub地址为http://x.xx.x.xx:4444/wd/hub,但报错显示尝试连接80端口,说明实际请求的地址没有带上4444端口,或者被某种机制修改了。
具体排查步骤与解决方案
1. 验证SELENOID_HUB变量的实际值
注释里的地址不一定是运行时的真实值,变量可能未正确赋值、被其他逻辑覆盖,或者漏掉了端口号(HTTP默认端口是80,不带端口会自动走80)。
在创建URL对象前添加打印语句,确认变量内容:
System.out.println("实际连接地址:" + SELENOID_HUB); try { host = new URL(SELENOID_HUB); } catch (Exception e){ throw new RuntimeException(); }
如果输出的地址没有:4444,修正变量赋值即可。
2. 修正代码返回值错误
你初始化了RemoteWebDriver,但最后返回的是new ChromeDriver(),这会直接创建本地浏览器实例,完全忽略了远程配置。将最后一行改为:
return driver;
3. 排除代理干扰
本地系统代理或代码中的代理配置可能导致请求被转发到80端口:
- 暂时关闭系统的HTTP代理,重新运行代码测试
- 在ChromeOptions中显式禁用代理:
newOptions.setProxy(null);
4. 确认Selenoid服务器的端口监听
登录AWS服务器,检查Selenoid是否在4444端口正常监听:
netstat -tulpn | grep 4444
同时用curl验证Selenoid状态:
curl http://localhost:4444/wd/hub/status
如果返回正常的JSON状态,说明服务器端配置没问题。
内容的提问来源于stack exchange,提问作者hhrzc
相关产品推荐
相关产品推荐

