當需要將網頁上的圖片儲存到本地時,請使用網頁截圖。
由於selenium jar套件提供的driver,模擬頁面操作,卻沒有右鍵屬性。可以透過模擬滑鼠右鍵的形式,進行圖片儲存至本地的操作。步驟繁瑣不說還需要引入別的jar包,個人認為沒必要大費周章,使用selenium jar包TakesScreenshot屬性進行截圖一樣可以達到生成圖片目的。
操作步驟:
1 获取图片元素,得到图片位置和大小 WebElement imgElement = driver.findElement(By.id("img")); Point location = webElement.getLocation(); // 获得位置。 Dimension size = webElement.getSize(); // 大小
2 创建全屏截图,通过ImageIo 读取形式 TakesScreenshot takesScreenshot = (TakesScreenshot) driver; BufferedImage originalImage = ImageIO.read(new ByteArrayInputStream(takesScreenshot.getScreenshotAs(OutputType.BYTES)));
#3 截取图片,生成BufferedImage BufferedImage croppedImage = originalImage.getSubimage( location.getX(), location.getY(), size.getWidth(), size.getHeight());
4 本地生成图片 String fileUrl = ""; // 图片路径
File file = new File(fileUrl); ImageIO.write(croppedImage , "png", file); // 内容写入
以上是使用selenium 截圖產生圖片的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!