You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过AccessibilityId与索引获取第3个XCUIElement按钮报错求助

解决XCUITest获取同accessibilityID第N个元素的问题

问题核心在于:app.buttons["MyListItems"]返回的是单个XCUIElement对象(默认匹配第一个符合条件的元素),而element(boundBy:)是XCUIElementQuery(元素查询集合)的方法,因此直接调用会报错。

正确获取第3个元素的写法有两种:

  • 方法一:使用matching(identifier:)获取查询集合,再通过element(boundBy:)定位下标(下标从0开始,第3个对应下标2)
let thirdSeverityItem = app.buttons.matching(identifier: "MyListItems").element(boundBy: 2)
  • 方法二:直接使用下标语法简化写法
let thirdSeverityItem = app.buttons.matching(identifier: "MyListItems")[2]

补充说明:调试器能显示元素列表,是因为XCUIElement内部保留了查询上下文,但代码层面它已经是单个元素实例,无法再通过element(boundBy:)遍历集合。

内容的提问来源于stack exchange,提问作者brainray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 14:05:17