Java selenium错误——DevToolsActivePort file doesn‘t exist

Java selenium错误——DevToolsActivePort file doesn’t exist

1. 问题出现

  • 项目:xxxx,抓取热点新闻截图
  • 环境:
    • linux-centos:7.6
    • Google Chrome 109.0.5414.74
    • ChromeDriver 109.0.5414.74
    • 在Java项目中,使用selenium模拟谷歌浏览器打开系统页面,进行截图,在windows环境下运行都没有问题,可是部署到生成环境后,运行报错。
  • 报错信息:
2023-02-08 17:22:05.254 ERROR 38295 --- [io-21233-exec-2] com.cqnews.server.HotMessageServer:截图失败:org.openqa.selenium.WebDriverException: unknown error: DevToolsActivePort file doesn't exist
Build info: version: 'unknown', revision: 'unknown', time: 'unknown'
System info: host: 'cqsrd-dsjpthtfw', ip: '172.16.12.9', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.el7.x86_64', java.version: '1.8.0_241'
Driver info: driver.version: ChromeDriver
remote stacktrace: #0 0x55745d7d3303 <unknown>

2. 问题原因

使用root安装的chrome,系统使用selenium打开chrome时,需要设置参数,使其在root权限下使用

3. 问题处理

  • 设置参数如下:
//设置为 headless 模式 (必须)
chromeOptions.addArguments("--headless");
chromeOptions.addArguments("--disable-gpu");//谷歌文档提到需要加上这个属性来规避bug
chromeOptions.addArguments("--no-sandbox");// “–no - sandbox”参数是让Chrome在root权限下跑
chromeOptions.addArguments("--disable-dev-shm-usage");
chromeOptions.addArguments("lang=zh_CN.UTF-8");
chromeOptions.addArguments("window-size=1920x1080"); //指定浏览器分辨率

4. 附

  1. google-chrome for centos 历史版本下载
    http://orion.lcg.ufrj.br/RPMS/myrpms/google/
  2. linux一次安装chromedrive记录
    https://www.cnblogs.com/zhangxl1016/p/17044331.html
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值