Edit this Doc Get Page Source

Get the current application hierarchy XML (app) or page source (web)

Example Usage

String pageSource = driver.getPageSource();

source = self.driver.page_source

// webdriver.io example
let source = driver.getPageSource();

// wd example
let pageSource = await driver.source();

# ruby_lib example

# ruby_lib_core example

string pageSource = driver.PageSource;


In a web context, the source returns the source HTML of the current window. In a native context (iOS, Android, etc...) it will return the application hierarchy XML.

This method is useful for inspecting your application hierarchy and using that to write selectors

(NOTE: iOS and Android don't have standard ways of defining their application source, so on calls to 'Get Page Source' Appium traverses the app hierarchy and creates an XML document. Thus, getting the source can often be an expensive and time-consuming operation)


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

Language Support Documentation
Java All seleniumhq.github.io
Python All selenium-python.readthedocs.io
Javascript (WebdriverIO) All
Javascript (WD) All github.com
Ruby All www.rubydoc.info
C# All github.com

HTTP API Specifications


GET /session/:session_id/source

URL Parameters

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

JSON Parameters



The sources of current context. (string)

See Also