最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

WebDriver中實(shí)現(xiàn)對(duì)特定的Web區(qū)域截圖方法

 更新時(shí)間:2015年06月10日 09:48:15   投稿:junjie  
這篇文章主要介紹了WebDriver中實(shí)現(xiàn)對(duì)特定的Web區(qū)域截圖方法,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下

用過 WebDriver 的同學(xué)都知道,WebDriver 可以對(duì)瀏覽器中的頁面進(jìn)行截圖。例如:

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


這樣產(chǎn)生的圖片是整個(gè)網(wǎng)頁。但有時(shí)候我們并不需要整個(gè)網(wǎng)頁,只需要某些特定的 WebElement,以避免一些干擾。

雖然 WebDriver 本身沒有提供這樣的 API,不過我們可以自己來,就是在全屏的截圖中再進(jìn)行裁剪,如下:

public BufferedImage createElementImage(WebElement webElement)
 throws IOException {
 // 獲得webElement的位置和大小。
 Point location = webElement.getLocation();
 Dimension size = webElement.getSize();
 // 創(chuàng)建全屏截圖。
 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。

這種方法可以很好的削減截圖的大小,也避免了一些不確定因素(比如日期時(shí)間等),是測(cè)試中保存截圖的很好的方式。

注:如果測(cè)試的網(wǎng)頁中含有 iframe,則需要使用更復(fù)雜的方式計(jì)算 WebElement 的位置,詳見:計(jì)算網(wǎng)頁中某個(gè)元素的位置。

相關(guān)文章

最新評(píng)論

正镶白旗| 巴彦淖尔市| 盱眙县| 张家口市| 桂阳县| 元朗区| 塔河县| 南江县| 界首市| 四会市| 辽阳市| 海晏县| 登封市| 嘉峪关市| 蕲春县| 伊通| 政和县| 金山区| 永丰县| 铜陵市| 邵阳县| 大邑县| 淮南市| 新营市| 丰镇市| 廊坊市| 卓资县| 西和县| 花莲市| 桑植县| 多伦县| 沙坪坝区| 龙州县| 壤塘县| 蒲江县| 灵璧县| 吉木萨尔县| 新疆| 博爱县| 耒阳市| 邳州市|