Find Elements

Search for multiple elements

Example Usage

// Java
List<MobileElement> elementsOne = (MobileElement) driver.findElementsByAccessibilityId("SomeAccessibilityID");
List<MobileElement> elementsTwo = (MobileElement) driver.findElementsByClassName("SomeClassName");

# Python
el = self.driver.find_elements_by_accessibility_id('SomeAccessibilityID')

// Javascript
// example

// wd example
let elementsOne = await driver.elementsByAccessibilityId("SomeAccessibilityID");
let elementsTwo = await driver.elements("id", "SomeID");

# Ruby
# ruby_lib example
find_elements(:accessibility_id, "~SomeAccessibilityID")

# ruby_lib_core example
@driver.find_elements(:accessibility_id, "~SomeAccessibilityID")

$els = $this->elements($this->using('accessibility id')->value('SomeAccessibilityID'));

// C#
// TODO C# sample

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
IOS UIAutomation When automating an iOS application, Apple’s Instruments framework can be used to find elements


Get a list of elements that match the locator selector.


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


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


A list of of JSON objects for the located elements (Array<String>)

See Also