使用webdriver捕获图像的解决方案。有没有人有更好的解决方案呢?

时间:2013-06-29 13:28:16

标签: selenium webdriver selenium-webdriver

我想分享代码来捕获selenium webdriver中所有标签的屏幕截图

  1. 获取列表中的所有<img>标记

    List<WebElement> image = driver.findElements(By.tagName("img"));
    int i=1;
    
  2. 使用此:

    for(WebElement allImages : image){
    
        //Download image
        File screen=((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        int width=allImages.getSize().getWidth();
        int height=allImages.getSize().getHeight();
        BufferedImage img=ImageIO.read(screen);
        BufferedImage dest=img.getSubimage(allImages.getLocation().getX(), allImages.getLocation().getY(), width, height);
        ImageIO.write(dest, "png", screen); 
        File file=new File("/Users/h-disk/Desktop/folder-name/abc"+i+".png"); 
    
  3. 使用此代码,您可以捕获所有<img> s

1 个答案:

答案 0 :(得分:1)

您可以使用Gallio或RobotFramework等框架来改进此过程