如何使用webDriver(java)截取屏幕截图并一一粘贴到word文件中 [英] How to take screenshots and paste it in a word file one by one using webDriver (java)
本文介绍了如何使用webDriver(java)截取屏幕截图并一一粘贴到word文件中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以通过 ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); 截取屏幕截图.
I am able to take screenshot by ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
在我的应用程序中,我必须为每个页面截取屏幕截图,因此我想将多个屏幕截图一一保存到单个 .doc 文件中.有API吗?
In my application I have to take screenshot for every page so I want to save the multiple screenshot into a single .doc file one by one. Is there any API?
有什么想法吗?请帮助...
Any Idea? Please Help...
推荐答案
最简单的方法 - 截屏,放入 PNG/JPEG 文件,读取,添加到 MS-Word,删除文件,简单.这是一个可供您使用的代码......宾果游戏......!!
Easiest way - take screenshot, put it in PNG/JPEG file, read it, add it in MS-Word, delete the file, simple. here's a ready to use code for you.... BINGO...!!
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import javax.imageio.ImageIO;
import org.apache.poi.util.Units;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFRun;
public class TakeScreenshots {
public static void main(String[] args) {
try {
XWPFDocument docx = new XWPFDocument();
XWPFRun run = docx.createParagraph().createRun();
FileOutputStream out = new FileOutputStream("d:/xyz/doc1.docx");
for (int counter = 1; counter <= 5; counter++) {
captureScreenShot(docx, run, out);
TimeUnit.SECONDS.sleep(1);
}
docx.write(out);
out.flush();
out.close();
docx.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void captureScreenShot(XWPFDocument docx, XWPFRun run, FileOutputStream out) throws Exception {
String screenshot_name = System.currentTimeMillis() + ".png";
BufferedImage image = new Robot()
.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
File file = new File("d:/xyz/" + screenshot_name);
ImageIO.write(image, "png", file);
InputStream pic = new FileInputStream("d:/xyz/" + screenshot_name);
run.addBreak();
run.addPicture(pic, XWPFDocument.PICTURE_TYPE_PNG, screenshot_name, Units.toEMU(350), Units.toEMU(350));
pic.close();
file.delete();
}
}
这篇关于如何使用webDriver(java)截取屏幕截图并一一粘贴到word文件中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文