Java selenium 全屏截图和按元素截图介绍
生活随笔
收集整理的這篇文章主要介紹了
Java selenium 全屏截图和按元素截图介绍
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
最近開發自動化測試工具,要寫圖片驗證碼自動識別,識別過程首先要先進行圖片驗證碼的截圖,于是網上找了一些截圖方法,但是我發現,大多數的截圖方式都是先全屏截圖,然后按元素在頁面的位置和大小進行裁剪,這種方式有個弊端:全屏圖片尺寸是按電腦屏幕分辨率來的,網頁尺寸是前端代碼設定的,這樣會導致裁剪的位置不是理想位置
所以總結了一下截圖方法:
方法一
全屏截圖,然后裁剪,這種方式圖片尺寸按電腦屏幕分辨率來的,與網頁實際尺寸有差異,裁剪后的效果不好:
//截全屏圖 File sourceFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);//保存圖片 try {FileUtils.copyFile(sourceFile, new File(sourceImg + "img.jpg")); } catch (IOException e) {e.printStackTrace(); } //裁剪圖片 BufferedImage img = null; try {img = ImageIO.read(new File(sourceImg + "img.jpg")); } catch (IOException e) {e.printStackTrace(); } int w = element.getSize().getWidth(); int h = element.getSize().getHeight(); Point point = element.getLocation(); //從元素左上角坐標開始,按照元素的高寬對img進行裁剪為符合需要的圖片 BufferedImage dest = img.getSubimage(point.getX(), point.getY(), w, h); try {ImageIO.write(dest,"jpg", new File(sourceImg+"result.jpg")); } catch (IOException e) {e.printStackTrace(); }效果圖(請忽略去除干擾的效果):
方法二
按元素截圖:
//按元素截圖 File sourceFile = element.getScreenshotAs(OutputType.FILE); //保存圖片 try {FileUtils.copyFile(sourceFile, new File(sourceImg + "img.jpg")); } catch (IOException e) {e.printStackTrace(); }效果圖:
總結
以上是生活随笔為你收集整理的Java selenium 全屏截图和按元素截图介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LCON解说分析
- 下一篇: ID-51A Plus2的D-Star