How to capture screenshots in Selenium?


We can capture screenshots in Selenium with the help of TakesScreenshot interface. For capturing the screenshot and holding it in a specific location, getScreenshotAs() method is used.

Example

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import java.io.File;
import org.apache.commons.io.FileUtils;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
public class ScreenshotFull{
   public static void main(String[] args) {
      System.setProperty("webdriver.chrome.driver",
"C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
      WebDriver driver = new ChromeDriver();
      String url = "https://www.tutorialspoint.com/questions/index.php";
      driver.get(url);
      driver.manage().timeouts().implicitlyWait(12, TimeUnit.SECONDS);
      // capture screenshot with getScreenshotAs() and store in the //Screenshots folder
      TakesScreenshot s = (TakesScreenshot)driver;
      File source = s.getScreenshotAs(OutputType.FILE);
      FileUtils.copyFile(source, new File("./Screenshots/tutorialpoint.png"));
      driver.quit();
   }
}

Updated on: 11-Jun-2020

226 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements