This documentation is deprecated. Please refer to the README in the Appium repository or Appium 2.0 documentation.
Edit this Doc Find Elements
Search for multiple elements
Example Usage
List<MobileElement> elementsOne = (List<MobileElement>) driver.findElementsByAccessibilityId("SomeAccessibilityID");
List<MobileElement> elementsTwo = (List<MobileElement>) driver.findElementsByClassName("SomeClassName");
el = driver.find_elements(AppiumBy.ACCESSIBILITY_ID,'SomeAccessibilityID')
// webdriver.io example
$$("~SomeAccessibilityId");
// wd example
let elementsOne = await driver.elementsByAccessibilityId("SomeAccessibilityID");
let elementsTwo = await driver.elements("id", "SomeID");
# ruby_lib example
find_elements(:accessibility_id, "~SomeAccessibilityID")
# ruby_lib_core example
@driver.find_elements(:accessibility_id, "~SomeAccessibilityID")
IEnumerable<AppiumWebElement> elementsOne = driver.FindElementsByAccessibilityId("SomeAccessibilityID");
IEnumerable<AppiumWebElement> elementsTwo = driver.FindElementsByClassName("SomeClassName");
Selector Strategies
Strategy | Description |
---|---|
Accessibility ID | Read a unique identifier for a UI element. For XCUITest it is the element's accessibility-id attribute. For Android it is the element's content-desc attribute. |
Class name | For IOS it is the full name of the XCUI element and begins with XCUIElementType. For Android it is the full name of the UIAutomator2 class (e.g.: android.widget.TextView) |
ID | Native element identifier. resource-id for android; name for iOS. |
Name | Name of element |
XPath | Search the app XML source using xpath (not recommended, has performance issues) |
Image | Locate an element by matching it with a base 64 encoded image file |
Android UiAutomator (UiAutomator2 only) | Use the UI Automator API, in particular the UiSelector class to locate elements. In Appium you send the Java code, as a string, to the server, which executes it in the application’s environment, returning the element or elements. |
Android View Tag (Espresso only) | Locate an element by its view tag |
Android Data Matcher (Espresso only) | Locate an element using Espresso DataMatcher |
IOS UIAutomation | When automating an iOS application, Apple’s Instruments framework can be used to find elements |
Description
Get a list of elements that match the locator selector.
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.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
Endpoint
POST /session/:session_id/elements
URL Parameters
name | description |
---|---|
session_id | ID of the session to route the command to |
JSON Parameters
name | type | description |
---|---|---|
using | string |
The locator strategy to use |
value | string |
The search target |
Response
A list of of JSON objects for the located elements (Array<String>
)