当需要保存网页上的图片到本地时,使用到网页截图。
由于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中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号