How to get screenshot of full webpage using Selenium and Java?

前端 未结 9 730
耶瑟儿~
耶瑟儿~ 2020-12-29 08:17

How to take a screenshot of the entire web page (full-page screenshot), not only partial (top-to-bottom) using Selenium WebDriver?

My code:

9条回答
  •  爱一瞬间的悲伤
    2020-12-29 08:59

    Java code without using third party library:

    int bodyHeight = webDriver.findElement(By.tagName("body")).getSize().getHeight();
    int windowChromeHeight = (int) (long) webDriver.executeScript("return window.outerHeight - window.innerHeight");
    Dimension size = new Dimension(webDriver.manage().window().getSize().getWidth(), bodyHeight + windowChromeHeight);
    webDriver.executeScript("window.scrollTo(0, 0);");
    webDriver.manage().window().setSize(size);
                
    File screenshotFile = new File("screenshot.png");
    Files.write(screenshotFile.toPath(), webDriver.getScreenshotAs(OutputType.BYTES));
    

提交回复
热议问题