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

远程Tomcat部署Java Web应用启动ChromeDriver报500错误求助

解决Tomcat中Selenium ChromeDriver启动崩溃的问题

问题核心

部署在Apache Tomcat/10.0.23的Java Web应用创建WebDriver时触发HTTP 500错误,错误提示Chrome启动失败:崩溃、DevToolsActivePort文件不存在,尽管Chromedriver已成功启动,但Chrome进程无法正常运行。

环境信息确认

  • Google Chrome路径:/usr/bin/google-chrome
  • Chrome版本:110.0.5481.77
  • Chromedriver路径:/usr/bin/chromedriver
  • Chromedriver版本:110.0.5481.77
  • Selenium依赖:
    <dependency>
         <groupId>org.seleniumhq.selenium</groupId>
         <artifactId>selenium-java</artifactId>
         <version>4.8.0</version>
    </dependency>
    

版本匹配无问题,Selenium 4.8.0兼容Chrome 109-111版本。

解决方案

1. 补充Chrome启动参数

在现有参数基础上,添加以下关键参数解决DevToolsActivePort和权限问题:

ChromeOptions options = new ChromeOptions();
// 已有参数
options.addArguments("--headless=new");
options.addArguments("--disable-dev-shm-usage");
options.addArguments("--no-sandbox");
// 新增参数
options.addArguments("--remote-debugging-port=9222"); // 指定调试端口,避免端口冲突
options.addArguments("--user-data-dir=/tmp/chrome-user-data"); // 指定临时用户目录,解决权限问题
options.addArguments("--disable-gpu"); // 无GPU环境下禁用GPU加速
options.addArguments("--single-process"); // 单进程模式,降低资源占用与冲突概率

WebDriver driver = new ChromeDriver(options);

2. 检查Tomcat运行权限

  • 确保Tomcat进程的运行用户对/tmp目录拥有读写权限,Chrome需要在此创建临时文件
  • 执行chmod +x /usr/bin/google-chrome确保Chrome可执行,同时验证Tomcat用户能执行该命令:
    su - tomcat-user -c "/usr/bin/google-chrome --headless=new --disable-gpu --no-sandbox --dump-dom https://www.google.com"
    

若执行失败,需排查Chrome安装完整性或用户权限。

3. 手动指定Chromedriver服务(可选)

通过ChromeDriverService显式指定驱动路径,避免自动识别异常:

ChromeDriverService service = new ChromeDriverService.Builder()
        .usingDriverExecutable(new File("/usr/bin/chromedriver"))
        .usingAnyFreePort()
        .build();
service.start();

WebDriver driver = new ChromeDriver(service, options);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 20:01:33