我有两个截屏代码,我想知道它们之间有什么区别?
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("C:\\failure.png"));
和
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
**BufferedImage fullImg = ImageIO.read(scrFile);**
FileUtils.copyFile(scrFile, new File("C:\\failure.png"));
所以带有**的行是不同的,但是她做什么?以及为什么在她之后我可以写:
Point point = element.getLocation();
int parkWidth = element.getSize().getWidth();
int parkHeight = element.getSize().getHeight();
BufferedImage eleScreenshot= fullImg.getSubimage(point.getX(),
point.getY(),parkWidth, parkHeight);
ImageIO.write(eleScreenshot, "png", scrFile);
答案 0 :(得分:1)
我有两个截屏代码,我想知道它们之间有什么区别? 所以带有**的行是不同的,但是她做什么?
区别在于,在第二个代码块中,您定义了一个新变量fullImg
。但是,由于未使用它,所以这两个代码块是相同的(用于捕获屏幕截图)。
为什么在她之后我可以写:
这是因为您已定义变量fullImg
,然后使用它:
BufferedImage eleScreenshot= fullImg.getSubimage(point.getX(), point.getY(),parkWidth, parkHeight);
在第一个代码块中,您没有fullImg
,因此这会出错。