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

相同Selenium代码本地运行正常 Jenkins执行报UnreachableBrowserException求助

排查方向及解决思路

1. 验证Jenkins执行上下文的网络连通性

你之前排查的连通性大概率是在Jenkins服务器上用个人账号测试的,需确认Jenkins任务的实际执行用户是否有对应权限:

  • 在Jenkins任务的构建步骤中新增一行执行命令:curl -v http://x.x.x.x:5555/grid/console,查看执行日志是否能正常拿到Grid控制台的返回内容,排除Jenkins执行用户的出站网络限制、全局代理拦截问题。
  • 如果Jenkins服务器配置了全局HTTP/HTTPS代理,需在任务环境变量中添加NO_PROXY=x.x.x.x,避免Grid内网地址被代理转发。

2. 排查Java版本与Selenium依赖的兼容性问题

Selenium v3.141.59默认适配Java 8,在Java 11环境下运行时会因模块化机制的反射限制出现未知错误:

  • 可以在Jenkins任务中指定使用Java 8运行代码(无需修改Jenkins全局Java版本,单独在构建步骤中指定JDK路径即可)
  • 若必须使用Java 11,需给代码的启动JVM参数添加如下配置:
--add-opens java.base/java.lang=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED
--add-opens java.base/sun.util.calendar=ALL-UNNAMED

3. 检查Selenium Grid Node的注册地址配置

Grid Hub在返回可用节点信息时,会返回Node注册时上报的地址,如果Node注册时使用了本地hostname、内网网段IP,Jenkins服务器无法直接访问该地址也会触发该报错:

  • 登录Grid Node所在服务器,重启Node时显式指定可被Jenkins访问的IP:java -jar selenium-server-standalone-3.141.59.jar -role node -hub http://x.x.x.x:5555/grid/register -host <Jenkins可访问的Node IP>
  • 同时可以在代码初始化RemoteWebDriver前开启Selenium debug日志,确认请求是卡在和Hub的通信阶段还是和Node的通信阶段。

4. 查看Grid Node的运行日志

直接登录Grid Node所在服务器查看运行日志,确认Jenkins发起会话请求时,Node侧是否收到请求、是否有Chrome启动失败的报错,比如传入的ChromeOptions包含Node侧不存在的本地路径、启动参数不兼容等问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:27:02