2013-06-29 109 views
0

我想分享代码来捕获所有标签中硒的屏幕截图的webdriver使用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"); 
    

使用此代码你可以捕获所有<img>小号

+0

这是为测试人员社区的最佳解决方案,其已经从开发验证,其超过OK。 如果你有什么更好的主意,那么欢迎。 – bugCracker

+0

这段代码有多好并不重要,这不是问题。 – Doorknob

回答

1

您可以使用诸如加利奥或RobotFramework框架,以改善这一过程

相关问题