如何在无头的ChromeDriver中获取屏幕截图?

时间:2019-03-23 21:01:41

标签: java selenium webdriver screenshot headless

我正在尝试在无头ChromeDriver实例中捕获屏幕截图。我可以得到正确的屏幕截图,而不必费力地。

我试图仅遵循一个示例,但是,该示例无法正常运行。

    public static void main(String[] args) throws Exception{
            ChromeOptions chromeOptions = new ChromeOptions();
            chromeOptions.setBinary("/Applications/Google Chrome.app/Contents/MacOS/Google Chrome");
            chromeOptions.addArguments("--headless");

            WebDriver driver = new ChromeDriver(chromeOptions);
            driver.navigate().to("https://adobe.com");

            File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
            // Now you can do whatever you need to do with it, for example copy somewhere
            FileUtils.copyFile(srcFile, new File("testscreenshot.png"));
            driver.quit();

    }

上面的代码生成的屏幕截图为空白白色,侧面有滚动条。如何在无头模式下捕获屏幕截图?这可能吗?

1 个答案:

答案 0 :(得分:0)

在Windows,Ubuntu和Mac上,此行为不同。我目前在Mac上工作。由于某种原因,它没有呈现页面。这就是我拍摄屏幕截图之前所需的一切

new WebDriverWait(driver, 10)