使用 Robot.createScreenCapture 的屏幕截图返回黑色图像?

Nom*_*ram 5 java selenium awtrobot selenium-webdriver

我尝试在 Windows 7 上使用以下代码捕获屏幕

 Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
 BufferedImage capture = new Robot().createScreenCapture(screenRect);
 ImageIO.write(capture, "jpg", new File("C:/capture/ScreenShot.jpg"));
Run Code Online (Sandbox Code Playgroud)

这段代码返回黑色图像,不知道为什么请帮忙。

进口情况如下:

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
Run Code Online (Sandbox Code Playgroud)

先感谢您。

小智 -1

也许,还有另一个 ScreenDevice。
尝试

Robot r = new Robot(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice());
BufferedImage capture = r.createScreenCapture(screenRect);
Run Code Online (Sandbox Code Playgroud)