为什么我的Robot Screenshot方法会捕获黑屏?

时间:2017-03-06 11:37:56

标签: java selenium selenium-webdriver webdriver

  1. 我确实试图在很多方面改变代码,但我仍然没有运气。
  2. 目前使用Google Chrome和Windows Server 2008(虚拟机)运行所有测试。
  3. 我的代码:

            Robot robot = new Robot();
        //capture a screenshot of desktop size
        Rectangle captureSize = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
        BufferedImage capture = robot.createScreenCapture(captureSize);
    
        //save to file
        ImageIO.write(capture, "bmp", new File(image12345 + ".jpg")));
    
  4. 以下代码有效,但我需要捕获整个屏幕,包括URL:

            File scrFile = ((TakesScreenshot) BrowserFactory.getDriver()).getScreenshotAs(OutputType.FILE);
    
        FileUtils.copyFile(scrFile,
                new File((test12345 + ".jpeg")));
    
  5. 为什么会发生这种情况?

    感谢您的帮助

1 个答案:

答案 0 :(得分:1)

Selenium WebDriver不允许您拍​​摄浏览器的快照,包括导航栏。如您所知,它只捕获页面的内容。因此,您需要使用Java Robot之类的东西来制作它。

您提供的代码段正确无误。您可以找到另一个有效的示例herehere