Selenium-Chrome-Headless:无法从渲染器接收消息

3

我正在使用以下版本的技术进行开发:

  • Chrome浏览器最新稳定版 61.0.3163.79
  • Chromedriver 2.31
  • Selenium 3.4.0
  • Jenkins和Docker

在Jenkins上第一次运行时,遇到了以下错误:

1.732][INFO]: 等待挂起的导航完成。 状态:断开连接:无法从渲染器接收消息[1.732][DEBUG]: DevTools请求:http://localhost:12059/json [1.733][DEBUG]: DevTools 请求失败

请问有人能帮忙解决问题吗?


你能添加你正在使用的代码吗?这将使我们所有人更好地理解并为您提供更好的帮助。 - Shubham Jain
你的代码在没有 headless 模式下正常工作吗? - Shubham Jain
尝试在无头模式下使用Mozilla Firefox - undetected Selenium
这是我们第一次尝试使用无头浏览器,之前我们使用的是phantomjs。 - tsiva
` chromeOptions.addArguments(dimension); chromeOptions.addArguments("--disable-gpu"); chromeOptions.addArguments("--no-sandbox"); chromeOptions.addArguments("--headless"); 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); ` - tsiva
我们正在从Jenkins运行这个。 - tsiva
1个回答

0
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

这解决了我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接