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

Java Selenium3.141.59报错:等待ChromeDriver服务启动超时

Selenium启动Chrome超时(等待driver服务启动超时)修复方案

这个报错的核心原因是Selenium拉起chromedriver进程后,未在默认超时时间内收到driver的就绪响应,已经完成版本匹配的前提下,按以下优先级排查修复:

  • 检查chromedriver文件的系统锁定状态
    手动导航到你代码里配置的chromedriver.exe存放路径,右键文件打开属性面板,如果面板底部有安全提示「此文件来自其他计算机,可能被阻止以帮助保护该计算机」,点击「解除锁定」后保存。如果双击运行exe时弹出Windows Defender/安全软件的拦截告警,选择允许在设备上运行。资源目录下的可执行文件经常会被系统默认加锁,导致进程启动后被挂起,无法正常响应Selenium的请求。
  • 校验驱动路径配置正确性
    首先确认你代码中USER_DIR常量的取值是user.dir(全小写,Java系统属性对大小写敏感),不要硬编码\\作为路径分隔符,改用NIO路径类拼接避免跨环境兼容问题:
    import java.nio.file.Paths;
    String exePath = Paths.get(System.getProperty("user.dir"), "src", "main", "resources", "chromedriver.exe").toString();
    // 加日志打印exePath实际值,手动确认对应路径下文件真实存在
    
    不建议将chromedriver放在resources资源目录,避免Maven资源插件过滤时破坏exe文件结构,可以单独在项目根目录建drivers文件夹存放驱动文件。
  • 补全Chrome启动参数,规避环境限制
    组策略管控、Chrome安装路径未写入注册表、权限不足都会导致启动失败,在现有ChromeOptions配置中追加以下参数:
    // 手动替换成本机chrome.exe的实际安装路径
    chromeOptions.setBinary("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe");
    chromeOptions.addArguments("--no-sandbox");
    chromeOptions.addArguments("--disable-dev-shm-usage");
    chromeOptions.addArguments("--remote-allow-origins=*");
    
  • 验证驱动本身可用性
    打开命令提示符,切换到chromedriver.exe所在目录,执行命令chromedriver.exe --port=9515,如果正常输出Starting ChromeDriver 103.0.5060.53 on port 9515说明驱动文件本身完好;如果执行后闪退、报dll缺失、无任何输出,重新下载对应版本的chromedriver替换现有文件即可。
  • 清理残留进程
    执行测试前打开任务管理器,结束所有残留的chromedriver.exe、chrome.exe进程,避免残留进程占用端口导致新的driver服务无法正常绑定端口启动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 22:45:46