在Headless Chrome中打开GWT-Application不起作用

时间:2018-03-20 13:53:56

标签: java google-chrome selenium selenium-chromedriver headless-browser

我目前正在研究一种应该测试GWT-Application的实用工具。 我想使用无头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);

如果我使用google.com转到driver.get(url)并截取屏幕截图我可以看到Google-Page,但是当我尝试打开GWT应用时,我只会看到一个白页和以下内容使用System.out.println(driver.getPageSource());

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

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

我正在运行

Chrome-Version 63.0.3239.84

硒 - 服务器 - 独立-3.5.3

chromedriver 2.33

Windows 7 Enterprise 64位

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

我赞成任何帮助

1 个答案:

答案 0 :(得分:1)

--disable-gpu选项外,您还需要传递driver.set_headless()

但是,不要明确传递这些选项,只需调用<div> <video src="url" #myvideo> </video> <div class="my-div" (click)="clickBox()" #divPos></div> <div> (这将为您设置两者)。