java - Selenium - 从两个显示器捕获屏幕截图

标签 java selenium selenium-webdriver testng selenium-chromedriver

我有一台带有两个显示器的电脑,我想捕获两个显示器的屏幕截图。我使用下面的代码,它仅捕获第一个监视器的屏幕截图,但不捕获第二个监视器的屏幕截图。

public void getScreenshotThroughRobot(String filename) throws IOException, AWTException {
    Robot robot = new Robot();
    String format = "jpg";
    filename = filename + "-FullScreenshot." + format;

    Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
    BufferedImage screenFullImage = robot.createScreenCapture(screenRect);
    ImageIO.write(screenFullImage, format, new File(filename));
}

如果我的浏览器在第一个显示器中打开,则屏幕捕获正常,但如果它在第二个显示器中打开,则它仅从第一个显示器中捕获屏幕截图。

它必须从 2 个显示器或存在浏览器的 Activity 显示器捕获屏幕截图。

如有任何帮助,我们将不胜感激!

最佳答案

尝试这样的事情:

if (driver instanceof TakesScreenshot) {
    TakesScreenshot ts = (TakesScreenshot) driver;
    File screenshotFile = ts.getScreenshotAs(OutputType.FILE);
    //feel free to move or rename the file as you see fit.
}else{ /* unsupported*/ }

根据我的经验,这仅获取浏览器的屏幕截图,但这可能因驱动程序而异。

编辑添加 driverWebDriver 的一个实例。从你的问题来看,这是否是你正在做的事情有点不清楚。如果不是,您可以澄清您的 Selenium 用法,我会尽力提供帮助。

关于java - Selenium - 从两个显示器捕获屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38777059/

相关文章:

java - 层次树角色的 Spring Security/Java EE 解决方案

java - com.sun.faces.renderkit.html_basic.TextRenderer 存在哪些 Java API 替换(如果有)

java - 设置 WS 响应架构时出现问题

java - 带有特殊字符的selenium webdriver调用链接

selenium - 等到 CustomKeywords 中的操作完成后再继续,Katalon Studio

java - 共同托管 Ruby on Rails 和另一个 Web 应用程序

java - 在 property.setProperty ("mail.smtp.host",host) 中出现语法错误;

python - Selenium webdriver 从 find_elements_by_X 返回空列表

java - 如何使用 Selenium 和 Java 单击将鼠标悬停在 ebay.com 内的元素上后可见的元素

java - 如何使用带有java的selenium web驱动程序从下拉菜单中选择一个元素?