Get Page Source

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

Example Usage

// Java
String pageSource = driver.getPageSource();

# Python
source = self.driver.page_source

// Javascript
// example
let source = driver.source();

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

# Ruby
# ruby_lib example

# ruby_lib_core example

// TODO PHP sample

// C#
// TODO C# sample


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.2+ All All
Mac Mac ?+ 1.6.4+ All
Windows Windows 10+ 1.6.0+ All

Appium Clients

Language Support Documentation
Java All
Python All
Javascript (WebdriverIO) All
Javascript (WD) All
Ruby All
C# All

HTTP API Specifications


GET /wd/hub/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