Selenium-Chrome-Headless:无法从渲染器接收消息
Posted
技术标签:
【中文标题】Selenium-Chrome-Headless:无法从渲染器接收消息【英文标题】:Selenium-Chrome-Headless : Unable to receive message from renderer 【发布时间】:2018-02-14 21:29:26 【问题描述】:我正在使用
Chrome 最新稳定版61.0.3163.79
Chomedriver 2.31
硒 3.4.0
詹金斯和码头工人
我第一次运行 Jenkins 时遇到如下错误:
1.732][INFO]:等待未决导航完成。状态:断开连接:无法接收来自渲染器 [1.732] [DEBUG] 的消息: 开发工具请求:http://localhost:12059/json [1.733][调试]:开发工具 请求失败
有人可以帮我解决这个问题吗?
【问题讨论】:
你能添加你正在使用的代码吗?它将让我们所有人更好地了解,以更好地帮助您 你的代码在没有无头的情况下工作正常吗? 试试Mozilla Firefox in Headless Mode
这是我们第一次尝试 headless,之前我们使用的是 phantomjs
` chromeOptions.addArguments(dimension); chromeOptions.addArguments("--disable-gpu"); chromeOptions.addArguments("--no-sandbox"); chromeOptions.addArguments("--headless"); System.setProperty("webdriver.chrome.logfile", "target/chromedriver.log"); ChromeDriverService 服务 = new ChromeDriverService.Builder().withWhitelistedIps("").withVerbose(true).build(); driver = new ChromeDriver(service, chromeOptions); driver.get(域); `
【参考方案1】:
chromeOptions.addArguments(dimension);
chromeOptions.addArguments("--disable-gpu");
chromeOptions.addArguments("--no-sandbox");
chromeOptions.setBinary("/usr/bin/google-chrome");
System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
Logger.getLogger("org.openqa.selenium.remote").setLevel(Level.OFF);
System.setProperty("webdriver.chrome.logfile", "target/chromedriver.log");
ChromeDriverService service =
new ChromeDriverService.Builder().withWhitelistedIps("").withVerbose(true).build();
driver = new ChromeDriver(service, chromeOptions);
driver.get(domain);
还在服务器上挂载卷: /dev/shm:/dev/shm
这解决了我的问题
【讨论】:
以上是关于Selenium-Chrome-Headless:无法从渲染器接收消息的主要内容,如果未能解决你的问题,请参考以下文章