UNPKG

appium

Version:
108 lines (69 loc) 3.45 kB
# Get Page Source Get the current application hierarchy XML (app) or page source (web) ## Example Usage ```java // Java String pageSource = driver.getPageSource(); ``` ```python # Python source = self.driver.page_source() ``` ```javascript // Javascript // webdriver.io example let source = driver.source(); // wd example let pageSource = await driver.source(); ``` ```ruby # Ruby @driver.page_source ``` ```php # PHP // TODO PHP sample ``` ```csharp // 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](/docs/en/commands/element/find-element.md) (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 oftentime be an expensive and time-consuming operation) ## Support ### Appium Server |Platform|Driver|Platform Versions|Appium Version|Driver Version| |--------|----------------|------|--------------|--------------| | iOS | [XCUITest](/docs/en/drivers/ios-xcuitest.md) | 9.3+ | 1.6.0+ | All | | | [UIAutomation](/docs/en/drivers/ios-uiautomation.md) | 8.0 to 9.3 | All | All | | Android | [UiAutomator2](/docs/en/drivers/android-uiautomator2.md) | ?+ | 1.6.0+ | All | | | [UiAutomator](/docs/en/drivers/android-uiautomator.md) | 4.2+ | All | All | | Mac | [Mac](/docs/en/drivers/mac.md) | ?+ | 1.6.4+ | All | | Windows | [Windows](/docs/en/drivers/windows.md) | 10+ | 1.6.0+ | All | ### Appium Clients |Language|Support|Documentation| |--------|-------|-------------| |[Java](https://github.com/appium/java-client/releases/latest)| All | [seleniumhq.github.io](https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/remote/RemoteWebDriver.html#getPageSource--) | |[Python](https://github.com/appium/python-client/releases/latest)| All | [selenium-python.readthedocs.io](http://selenium-python.readthedocs.io/api.html#selenium.webdriver.remote.webdriver.WebDriver.page_source) | |[Javascript (WebdriverIO)](http://webdriver.io/index.html)| All | [webdriver.io](http://webdriver.io/api/protocol/source.html) | |[Javascript (WD)](https://github.com/admc/wd/releases/latest)| All | [github.com](https://github.com/admc/wd/blob/master/lib/commands.js#L1808) | |[Ruby](https://github.com/appium/ruby_lib/releases/latest)| All | [www.rubydoc.info](http://www.rubydoc.info/gems/selenium-webdriver/Selenium/WebDriver/Driver:page_source) | |[PHP](https://github.com/appium/php-client/releases/latest)| All | [github.com](https://github.com/appium/php-client/) | |[C#](https://github.com/appium/appium-dotnet-driver/releases/latest)| All | [github.com](https://github.com/appium/appium-dotnet-driver/) | ## 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 * [W3C Specification](https://www.w3.org/TR/webdriver/#dfn-get-page-source) * [JSONWP Specification](https://github.com/SeleniumHQ/selenium/wiki/JsonWireProtocol#sessionsessionidsource)