/**
* WebDriver截屏方法
* @param driver
* @return
* @throws IOException
*/
public static byte[] takeScreenshot(WebDriver driver) throws IOException {
TakesScreenshot takesScreenshot = (TakesScreenshot) driver;
return takesScreenshot.getScreenshotAs(OutputType.BYTES);
}
/**
* 根据节点位置,对节点进行裁剪,获得截图
* @param driver
* @param webElement
* @return
* @throws IOException
*/
public static BufferedImage createElementImage(WebDriver driver, WebElement webElement) throws IOException {
// 获得webElement的位置和大小。
Point location = webElement.getLocation();
Dimension size = webElement.getSize();
// 创建全屏截图。
BufferedImage originalImage = ImageIO.read(new ByteArrayInputStream(takeScreenshot(driver)));
// 截取webElement所在位置的子图。
BufferedImage croppedImage = originalImage.getSubimage(location.getX(), location.getY(), size.getWidth(),
size.getHeight());
return croppedImage;
}
/**
* 保存截图文件
* @param bi
* @throws IOException
*/
public static void writeImageFile(BufferedImage bi) throws IOException {
File outputfile = new File("save.png");
ImageIO.write(bi, "png", outputfile);
}
Java对WebDriver 、WebElement进行截图保存
最新推荐文章于 2024-08-11 19:30:00 发布