How to capture a screenshot using Selenium WebDriver?

Experience Level: Medior
Tags: Quality Assurance (QA)Selenium

Answer

To capture screenshot, use the method GetScreenshot() of the Selenium driver. if you are using interface IWebDriver, you will need to cast the driver instance to ITakesScreenshot interface.

C#

try {
  var screenshot = ((ITakesScreenshot)driver).GetScreenshot();
  var screenshotFileName = @"C:\Tests\Screenshots\Screenshot.jpg";
  screenshot.SaveAsFile(screenshotFileName, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (System.Exception ex) {
  Console.WrieLine(ex.ToString());
}

Note that the code can fail while generationg screenshot or saving the screenshot to a filesystem so it's always a good practice to use try/catch.

Related Selenium job interview questions

Comments

No Comments Yet.
Be the first to tell us what you think.
Selenium training
Selenium training

Are you learning Selenium ? Try our test we designed to help you progress faster.

Test yourself