java - 用java截屏

标签 java macos selenium screenshot

我正在网页中测试一个游戏,我使用的代码是

 private void takeScreenShot(String screenShotName) {
        File path = new File("/Users/myUser");
        String extension = ".jpg";
        File screenShot = new File(path+"/"+screenShotName );
        File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        try {
            FileUtils.copyFile(scrFile, screenShot);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

屏幕截图是这样的(我一直在为许多应用程序使用相同的代码,没有任何问题),我在 OS X 上使用这段代码。

Wrong Screenshot

最佳答案

你可以试试这个:

   private void takeScreenShot(String screenShotName) throws AWTException, IOException {

        Robot robot = new Robot();
        String path = "\\Users\\myUser";
        String extension  = "jpg";
        String fileName = path +"\\"+ screenShotName +"."+ extension;

        Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
        BufferedImage screenFullImage = robot.createScreenCapture(screenRect);
        ImageIO.write(screenFullImage, extension , new File(fileName));           

} 

关于java - 用java截屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36087814/

相关文章:

linux - go1.5beta2 在 MacOS 和 Linux 上的不同行为

java - Selenium + Java |改善等待时间

java - 将 ActiveMQ 与 Tomcat 集成

java - 用java编写文本文件

java - 我如何阅读这个标题?

objective-c - 从进程 ID 获取 CPU 信息

c# - 有没有办法在 Mac OS X 10.4.8 中通过双击运行 example.exe C# 桌面应用程序?

java - jpa hibernate复合外键映射

python - python 中的 Selenium webdriver : Re-using same web browser across testcases

c# - 使用 Selenium 选择元标记