当前位置: 首页 > 编程笔记 >

WebDriver中实现对特定的Web区域截图方法

罗法
2023-03-14
本文向大家介绍WebDriver中实现对特定的Web区域截图方法,包括了WebDriver中实现对特定的Web区域截图方法的使用技巧和注意事项,需要的朋友参考一下

用过 WebDriver 的同学都知道,WebDriver 可以对浏览器中的页面进行截图。例如:

public byte[] takeScreenshot() throws IOException {
 TakesScreenshot takesScreenshot = (TakesScreenshot) driver;
 return takesScreenshot.getScreenshotAs(OutputType.BYTES);
}


这样产生的图片是整个网页。但有时候我们并不需要整个网页,只需要某些特定的 WebElement,以避免一些干扰。

虽然 WebDriver 本身没有提供这样的 API,不过我们可以自己来,就是在全屏的截图中再进行裁剪,如下:

public BufferedImage createElementImage(WebElement webElement)
 throws IOException {
 // 获得webElement的位置和大小。
 Point location = webElement.getLocation();
 Dimension size = webElement.getSize();
 // 创建全屏截图。
 BufferedImage originalImage =
  ImageIO.read(new ByteArrayInputStream(takeScreenshot()));
 // 截取webElement所在位置的子图。
 BufferedImage croppedImage = originalImage.getSubimage(
  location.getX(),
  localtion.getY(),
  size.getWidth(),
  size.getHeight());
 return croppedImage;
}


其中 ImageIO 和 BufferedImage 分别来自 javax.imageio 和 java.awt.image。

这种方法可以很好的削减截图的大小,也避免了一些不确定因素(比如日期时间等),是测试中保存截图的很好的方式。

注:如果测试的网页中含有 iframe,则需要使用更复杂的方式计算 WebElement 的位置,详见:计算网页中某个元素的位置。

 类似资料:
  • 本文向大家介绍Selenium Webdriver实现截图功能的示例,包括了Selenium Webdriver实现截图功能的示例的使用技巧和注意事项,需要的朋友参考一下 前几天在研究中自动化的时候突发奇想,想着能不能来截个图,以便之后查看,实现的方法其实也不难,毕竟selenium webdriver已经提供了截图额功能,TakesScreenshot接口函数(英文意思就是获取屏幕截图takes

  • 本文向大家介绍Android实现bitmap指定区域滑动截取功能,包括了Android实现bitmap指定区域滑动截取功能的使用技巧和注意事项,需要的朋友参考一下 突然不知道什么心态,说要做这个,网上找了半天没找到合适的,就自己做了一个。 先上效果图: 透明区域为将要截取的区域,其他阴影部位为舍弃区域 图片资源我写死储存在了raw中,有需要可以自己写获取bitmap。 界面layout: Scre

  • 本文向大家介绍js实现固定显示区域内自动缩放图片的方法,包括了js实现固定显示区域内自动缩放图片的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js实现固定显示区域内自动缩放图片的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的javascript程序设计有所帮助。

  • 问题内容: 编辑Png图像例如,更改特定区域并在该区域填充颜色。 我想更改仅图像选择区域的颜色。就像第一个用户选择一种颜色,然后他选择一个图像一样,之后他可以用所选颜色更改图像颜色的特定区域。 之后,他也可以保存该图像,这可能吗?像Color公司的网站使用这种东西。 像下面的URL https://www.sherwin- williams.com/visualizer#/active 问题答案:

  • 本文向大家介绍js+HTML5实现视频截图的方法,包括了js+HTML5实现视频截图的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js+HTML5实现视频截图的方法。分享给大家供大家参考。具体如下: 1. HTML部分: 2. 点击按钮时触发如下代码: 希望本文所述对大家的javascript程序设计有所帮助。

  • 本文向大家介绍python cv2截取不规则区域图片实例,包括了python cv2截取不规则区域图片实例的使用技巧和注意事项,需要的朋友参考一下 知识掌握 cv2.threshold()函数: 设置固定级别的阈值应用于多通道矩阵,将灰度图像变换二值图像,或去除指定级别的噪声,或过滤掉过小或者过大的像素点。 在其中: src:表示的是图片源 thresh:表示的是阈值(起始值) maxval:表示