Как я могу получить скриншот в безголовом ChromeDriver? - PullRequest
0 голосов
/ 24 марта 2019

Я пытаюсь сделать снимки экрана в автономном экземпляре 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 голосов
/ 24 марта 2019

Это поведение отличалось в Windows, Ubuntu и Mac.В настоящее время я работаю на Mac.Это не рендеринг страницы по какой-то причине.Это было все, что мне было нужно, прежде чем я сделал свой скриншот

new WebDriverWait(driver, 10)

...