Find Elements

Search for multiple elements

Example Usage

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

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

// webdriver.io example
driver.elements("~SomeAccessibilityId");



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

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

// TODO C# sample

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

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)
Android UiAutomator 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.
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 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

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

Response

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

See Also