Appium-Find Elements(查找元素)

本文详细介绍了Appium中的FindElements方法,该方法用于查找UI元素列表,支持多种选择器策略,如AccessibilityID、ClassName等。无论是在iOS的XCUITest还是Android的UiAutomator2框架下,都能找到匹配的元素。此外,文章还涵盖了不同编程语言(Java、Python、JavaScript等)的使用示例,并提供了HTTP API的相关规格说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

区别于Find Element,返回一个包所有元素的列表,如果没有元素返回空表


Search for multiple elements //搜索多个元素

Example Usage
JavaList elementsOne = (List) driver.findElementsByAccessibilityId("SomeAccessibilityID");
List elementsTwo = (List) driver.findElementsByClassName("SomeClassName");
Pythonel = self.driver.find_elements_by_accessibility_id('SomeAccessibilityID')
Javascript// webdriver.io example
$$("~SomeAccessibilityId");

// 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")
C#IEnumerable elementsOne = driver.FindElementsByAccessibilityId("SomeAccessibilityID");
IEnumerable elementsTwo = driver.FindElementsByClassName("SomeClassName");
PHP$els = $this->elements($this->using('accessibility id')->value('SomeAccessibilityID'));
Selector Strategies
StrategyDescription
Accessibility IDRead 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 nameFor 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)
IDNative element identifier. resource-id for android; name for iOS.
NameName of element
XPathSearch the app XML source using xpath (not recommended, has performance issues)
ImageLocate 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 UIAutomationWhen 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
PlatformDriverPlatform VersionsAppium VersionDriver Version
iOSXCUITest9.3+AllAll
UIAutomation8.0 to 9.3AllAll
AndroidEspresso?+1.9.0+All
UiAutomator2?+1.6.0+All
UiAutomator4.3+AllAll
MacMac?+1.6.4+All
WindowsWindows10+1.6.0+All
Appium Clients
LanguageSupportDocumentation
JavaAllappium.github.io
PythonAllappium.github.io
Javascript (WebdriverIO)All
Javascript (WD)Allgithub.com
RubyAllwww.rubydoc.info
PHPAllgithub.com
C#Allgithub.com
HTTP API Specifications
Endpoint

POST /session/:session_id/elements

URL Parameters
namedescription
session_idID of the session to route the command to
JSON Parameters
nametypedescription
usingstringThe locator strategy to use
valuestringThe search target
Response

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

古希腊掌管野猫的神-臭臭猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值