public static void takeScrollableScreenshot(WebDriver webdriver, String filePath, WebDriverWait wait) throws Exception
{
File myDirectory = new File(filePath);
if (!myDirectory.exists()) {
myDirectory.mkdirs();
}else{
// Directory already exist
}
Screenshot screenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(500))
.takeScreenshot(webdriver);
ImageIO.write(screenshot.getImage(), "PNG", myDirectory);
}




Вы можете использовать метод ниже, чтобы сделать снимок экрана всего страницы в IE:
/**
* @param driver
* @param file e.g "C:\\Users\\username\\Desktop\\RegressionTests\\oracle.png"
* @throws IOException
*/
public static void takeScreenshot(WebDriver driver, String file) throws IOException {
((JavascriptExecutor) driver).executeScript("window.scrollTo(0, document.body.scrollHeight)");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(file));
}
Надеюсь, это вам поможет :)
он прокручивает страницу вниз и делает снимок экрана, но мне нужен снимок экрана всей страницы
будет сделан снимок экрана всей страницы
проверьте изображение после того, как был сделан снимок экрана
если вы удалите код JavascriptExecutor, он также будет работать и сделает снимок экрана всего страницы (только в IE), для других браузеров мы используем Ashot
Вы это проверили.
@ dangi13 нет ... это не сработало, он по-прежнему делает снимок экрана только в области просмотра
какую ошибку вы получаете. Я использую IE11, и он отлично с этим работает.