当前位置:   article > 正文

Java selenium错误——DevToolsActivePort file doesn‘t exist_session not created: devtoolsactiveport file doesn

session not created: 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>
  • 1
  • 2
  • 3
  • 4
  • 5

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"); //指定浏览器分辨率
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/337472
推荐阅读
相关标签
  

闽ICP备14008679号