关于selenium+java,实现部分截图功能,-针对单个元素的截图

//生成截图的方法
public class ElementPicture {
    public static File captureElement(File screenshot, WebElement element){
        try {
            BufferedImage img = ImageIO.read(screenshot);
            int width = element.getSize().getWidth();
            int height = element.getSize().getHeight();
            //获取指定元素的坐标
            Point point = element.getLocation();
            //从元素左上角坐标开始,按照元素的高宽对img进行裁剪为符合需要的图片
            BufferedImage dest = img.getSubimage(point.getX(), point.getY(), width, height);
            ImageIO.write(dest, "png", screenshot);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return screenshot;
    }
}

//调用demo
	function demo(){
			Thread.sleep(3000);
	        System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Google\\Chrome\\Application\\chromedriver.exe");
	        WebDriver webDriver = new ChromeDriver();
	      
	        webDriver.manage().window().maximize();
	        webDriver.manage().deleteAllCookies();
	        // 与浏览器同步非常重要,必须等待浏览器加载完毕
	        webDriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
	        //打开目标地址
	        webDriver.get("http://****");
	        WebElement img = webDriver.findElement(By.id("checkcodeImg")); 
	        
	        File ChromeFILE = ((ChromeDriver)webDriver).getScreenshotAs(OutputType.FILE);
	        try { 
	        	FileUtils.copyFile(AutoTest.captureElement(ChromeFILE,img), 
	        		new File("D:\\aaa\\code.jpg"));
	        } catch (Exception e) {
	        	e.printStackTrace(); 
	        	}
	  }
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值