Java 根据WebElement来获取截图
最近再进行自动化的测试中需要截取部分的图,而不是全图,所以刚好记录下来。也不造轮子了,直接上代码。
public static byte[] CaptureByElement(WebElement element, WebDriver driver ,String picType) throws Exception {
Point location = element.getLocation();
Dimension size = element.getSize();
// 创建全屏截图。
BufferedImage originalImage =
ImageIO.read(new ByteArrayInputStream(((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES)));
//截取element元素所覆盖的图
BufferedImage croppedImage = originalImage.getSubimage(
location.getX(),
location.getY(),
size.getWidth(),
size.getHeight());
ByteArrayOutputStream out = new ByteArrayOutputStream();
ImageIO.write(croppedImage, picType, out);
byte[] result = out.toByteArray();
return result;
}