FirefoxDriver 截取不同大小的屏幕截图

FirefoxDriver takes screenshots of different size

我制作了一个 java 应用程序,用于比较从我们的暂存环境和生产环境截取的屏幕截图。 由于屏幕截图尺寸不同,应用程序失败。

如何定义截图大小? 我正在使用以下代码生成屏幕截图。

    final WebDriver driver = new FirefoxDriver();

    try {
        driver.manage().window().setSize(new Dimension(1024, 768));
        driver.get(link);
        File outputFile = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
    ....

正如@Würgspaß 在评论中提到的,您可以使用 OutputType.BYTE 来做到这一点。这是一个例子:

byte[] bytes = driver.getScreenshotAs(OutputType.BYTES);
BufferedImage full = ImageIO.read(new ByteArrayInputStream(bytes));
full.getSubimage(0, 0, 1200, 800);