WEB自动化(JAVA版)——JAVA+Selenium截图操作

第一种:Selenium之TakesScreenshot

该方法可以只截取自动化运行的浏览器窗口内,不会截取浏览器的操作按钮和系统的任务栏区域。

    public static void screenshotWebPage(WebDriver driver, Integer tagId){
        // 调用截图方法
        File src= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        try {
            // 拷贝截图文件到我们项目./Screenshots
        	FileUtils.copyFile(src, new File("/Users/chenxia/Documents/Screenshots/screen-"+tagId+".png"));
        	System.out.println(tagId+"截图完成!");
        } 
        catch (IOException e)
         {
        	System.out.println(e.getMessage());
         }
    }

第二种:通过Robot截图

该方法会截取屏幕内的所有内容,包括系统自带的任务栏以及浏览器的导航栏和操作菜单。

    public static void screenshotByRobotFullScreen(Integer tagId){
        BufferedImage image = null;
        try {
            image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
            ImageIO.write(image, "jpg", new File("/Users/chenxia/Documents/Screenshots/screen-"+tagId+".png"));
            System.out.println(tagId+"截图完成!");
        } catch (AWTException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

可参阅:JAVA+selenium 截图操作

发布了64 篇原创文章 · 获赞 2 · 访问量 2789

猜你喜欢

转载自blog.csdn.net/anniewhite/article/details/105187942
今日推荐