本文介绍了如何通过Selenium和Java使用AShot库获取整页截图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我尝试了以下代码来获取整页截图。但只捕获了可见区域,I tried the below code for taking full page screenshot. But only the visible area is captured,public void Fullscreen (WebDriver driver) { try { final Screenshot screenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(1000)).takeScreenshot(driver); final BufferedImage image = screenshot.getImage(); ImageIO.write(image, "PNG", new File("D:\\" + "AShot_BBC_Entire.png")); } catch(Exception e){ System.out.println(e.getMessage()); }} 推荐答案虽然使用 ashot-1.4.4.jar Selenium Java Client v3.14.0 , ChromeDriver v2.41 , Chrome v 68.0 / strong>以下是使用 url ChromeDriver 和 aShot Library 水平和垂直拍摄完整页面截图的示例/ em> https://jquery.com/ :While working with Selenium Java Client v3.14.0, ChromeDriver v2.41, Chrome v 68.0 using ashot-1.4.4.jar here is an example to take the complete page screenshot both horizontally and vertically using ChromeDriver and aShot Library of the url https://jquery.com/: 代码块:Code Block:import java.io.File;import javax.imageio.ImageIO;import org.openqa.selenium.WebDriver;import org.openqa.selenium.chrome.ChromeDriver;import org.openqa.selenium.chrome.ChromeOptions;import org.openqa.selenium.support.ui.ExpectedConditions;import org.openqa.selenium.support.ui.WebDriverWait;import ru.yandex.qatools.ashot.AShot;import ru.yandex.qatools.ashot.Screenshot;import ru.yandex.qatools.ashot.shooting.ShootingStrategies;public class ashot_CompletePage { public static void main(String[] args) throws Exception { System.setProperty("god.bless.you", "C:\\Utility\\BrowserDrivers\\chromedriver.exe"); ChromeOptions options = new ChromeOptions(); options.addArguments("start-maximized"); options.addArguments("disable-infobars"); options.addArguments("--disable-extensions"); WebDriver driver = new ChromeDriver(options); driver.get("https://jquery.com/"); new WebDriverWait(driver, 20).until(ExpectedConditions.titleContains("jQuery")); Screenshot myScreenshot = new AShot().shootingStrategy(ShootingStrategies.viewportPasting(100)).takeScreenshot(driver); ImageIO.write(myScreenshot.getImage(),"PNG",new File("./Screenshots/elementScreenshot.png")); driver.quit(); }} 屏幕截图:Screenshots: 这篇关于如何通过Selenium和Java使用AShot库获取整页截图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
09-22 01:51