在无头Chrome中打开GWT应用程序不起作用



我目前正在开发一个应该测试GWT应用程序的实用工具。我想使用无头Chrome,但它不起作用

我执行以下操作:

DesiredCapabilities cap = DesiredCapabilities.chrome();
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("useAutomationExtension", false);
    options.addArguments("--headless");
    cap.setCapability(ChromeOptions.CAPABILITY, options);
    driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub/"), cap);
    wait = new WebDriverWait(driver, 10);

如果我driver.get(url)google.com并截取屏幕截图,我可以看到Google页面,但是一旦我尝试打开GWT应用程序,我只会得到一个白页和以下打印有System.out.println(driver.getPageSource());的来源

<html xmlns="http://www.w3.org/1999/xhtml"><head>
    <title>Secure Login Service</title>
</head>
<body>

但是一旦我删除无头标志铬就会启动并且 gwt 应用程序正常加载

我在跑步

  • 铬版本 63.0.3239.84
  • 硒服务器独立-3.5.3
  • Chrome Driver 2.33
  • 视窗 7 企业版 64 位

我无法更新 Chrome,但我可以尝试不同版本的 selenium 驱动程序和 chromedriver(我尝试了其他版本,但它们无法运行 - 但这是另一个主题( - 是否有另一个不需要安装的好无头浏览器(即 awesomeHeadlessBrowser.jar?

我感谢任何帮助

除了--headless选项外,您还需要将其传递--disable-gpu .

但是,不要显式传递这些选项,只需调用driver.set_headless()(这将为您设置这两个选项(。

最新更新