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
// webdriver.io example
let source = driver.source();



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

# Ruby
# ruby_lib example
page_source


# ruby_lib_core example
@driver.page_source

# PHP
// TODO PHP sample

// C#
// TODO C# sample

Description

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)

Support

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 seleniumhq.github.io
Python All selenium-python.readthedocs.io
Javascript (WebdriverIO) All
Javascript (WD) All github.com
Ruby All www.rubydoc.info
PHP All github.com
C# All github.com

HTTP API Specifications

Endpoint

GET /wd/hub/session/:session_id/source

URL Parameters

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

JSON Parameters

None

Response

The sources of current context. (string)

See Also