基于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 @   meiyouyou  阅读(729)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示