基于Java获取窗口截图

代码:
package utils;

import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.support.PageFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.io.File;
import java.io.IOException;

@Component
public class Screenshots {

    private WebDriver driver;

    @Autowired
    Screenshots(Browser browser) {
        this.driver = browser.getDriver();
        driver.manage().window().maximize();
        PageFactory.initElements(browser.getDriver(), this);
    }

    public void getScreenshots(String dirName, String screenshotName) throws IOException {
        //创建一个目录
        File dir = new File("D:\\" + dirName);
        dir.mkdir();

        //创建一个文件
        File file = new File(dir.getPath() +"\\hello11.jpg");
        file.createNewFile();

        //创建截图文件
        File srcFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
        try {
            FileUtils.copyFile(srcFile, new File(dir.getPath() +"\\" + screenshotName + ".png"));
        } catch (
                IOException e) {
            e.printStackTrace();
        }
    }
}
package com.utils;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.springframework.stereotype.Component;

@Component
public class Browser {

    static WebDriver driver;

    static {
        System.setProperty("webdriver.chrome.driver","D:\\SpringWeb\\src\\main\\resources\\chromedriver.exe");
        driver = new ChromeDriver();
        driver.manage().window().maximize();
    }

    public WebDriver getDriver(){return driver;}
}
posted @ 2021-04-19 23:43  meiyouyou  阅读(723)  评论(0编辑  收藏  举报