java - FirefoxDriver 截取不同尺寸的屏幕截图

标签 java selenium-firefoxdriver firefox-driver

我制作了一个 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);

关于java - FirefoxDriver 截取不同尺寸的屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32868844/

相关文章:

java - libvirt java 绑定(bind)和 virtualbox-ose

c# - 如何使用 Selenium FirefoxDriver 启动多个 Firefox portable 实例

java - Selenium Java 对元素执行的单击不起作用

java - Firefox 身份验证弹出窗口出现错误 : User prompt of type promptUserAndPass is not supported

java - 如何使用 FirefoxProfile 在 FireFox Selenium webdriver 中启用 Adob​​e Flash

java - HackerEarth 问题 : Reverse Primes 内存不足错误

java - 在Java中使用 turtle 图形?

java - 如何将屏幕上的 3D 位置转换为 2D 点?

javascript - 如何从发出警报的页面恢复 "text",尤其是在人类用户在页面的 **警报** 上 *单击* 后?

c# - Selenium 2.53.1 不适用于 FireFox 48