Java教程

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

本文主要是介绍Java selenium错误——DevToolsActivePort file doesn't exist,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

错误

  • Ubuntu下运行一个selenium调用无头chrome浏览器,出现问题:DevToolsActivePort file doesn't exist

 

 

 

背景

  • 在Java项目中,使用selenium模拟谷歌浏览器打开系统页面,进行截图,在windows环境下运行都没有问题,可是部署到生成环境后,运行报错。

原因

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

解决办法

  • 设置参数如下
//设置为 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"); //指定浏览器分辨率

 

这篇关于Java selenium错误——DevToolsActivePort file doesn't exist的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!