Take Screenshot

Take Screenshot

Take a screenshot of the current viewport/window/page

Example Usage

  • java
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
  • python
screenshotBase64 = self.driver.get_screenshot_as_base64()
  • javascript
// webdriver.io example
let screenshot = driver.takeScreenshot();

// wd example
let screenshot = await driver.takeScreenshot();
  • ruby
# ruby_lib example
driver.screenshot_as(:base64) # via core_lib

# ruby_lib_core example
  • C#
Screenshot screenshot = driver.GetScreenshot();


Takes a screenshot of the viewport in a native context (iOS, Android) and takes a screenshot of the window in web context

Note that some platforms may have settings that prevent screenshots from being taken, for security reason. One such feature is the Android FLAG_SECURE layout parameter


Appium Server

Platform Driver Platform Versions Appium Version Driver Version
iOS XCUITest 9.3+ 1.6.0+ All
UIAutomation 8.0 to 9.3 All All
Android Espresso ?+ 1.9.0+ All
UiAutomator2 ?+ 1.6.0+ All
UiAutomator 4.3+ All All
Mac Mac ?+ 1.6.4+ All
Windows Windows 10+ 1.6.0+ All

Appium Clients

HTTP API Specifications


GET /session/:session_id/screenshot

URL Parameters

name description
session_id ID of the session to route the command to

JSON Parameters



The screenshot as a base64 encoded PNG ( string )

See Also