如何使用webdriver制作包含浏览器的整个显示的屏幕截图?

时间:2016-04-27 13:38:02

标签: java selenium selenium-webdriver selenium-grid

有人知道如何使用webdriver制作完整的显示屏截图吗? 在Selenium文档中,我读到了:(http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/TakesScreenshot.html

..

  • 包含浏览器的整个显示屏的截图
  • ..

    我使用Selenium Grid。我的集线器在Linux上,在windows上是节点。我尝试使用Robot,但它需要在linux上截图,但需要在windows上

    3 个答案:

    答案 0 :(得分:0)

    如果您想要当前运行的浏览器实例的屏幕截图,那么您可以使用以下代码执行此操作:

      public static void captureScreen(WebDriver driver, String screenshotFileName)
        {
            String screenshotsFile = screenshotsFolder+screenshotFileName+imageExtention;
    
            try {
                File screenShot = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
                FileUtils.copyFile(screenShot, new File(screenshotsFile));
            } catch (IOException e) {
    
            }
        }
    

    但是如果您想截取活动窗口的截图(仅限浏览器),那么您可以使用Robot类。

    修改

    虽然现在为时已晚,但下面的链接包含您的答案。我认为对于那些正在寻找同样事物的人来说,这可能会有所帮助。 Screen shot issue in selenium webdriver

    答案 1 :(得分:0)

    您需要使用 FirefoxDriver 来截取整个页面。 Chrome和IE不支持它。

    答案 2 :(得分:-1)

    嗨试试如下,它将需要完整的网页屏幕截图

     File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
     //The below method will save the screen shot in defined drive with name "screenshot.png"
     FileUtils.copyFile(scrFile, new File("yourPath\\screenshot.png"));