跳到主要内容

选择器字段说明

该模块在 20260507 以后版本方可使用

选择器是一个 Lua 表,用于描述要查找或操作的 UI 元素。建议优先使用可读文本和角色组合定位,必要时再加 index 区分同名元素。

示例

local selector = {
title = "搜索",
role = "text_field",
}

local item = ui_element.find(selector)

字段

  • title / text 文本型,匹配元素的可读标题。两者含义相同。
  • text_contains 文本型,匹配可读标题中包含的子串。
  • value 文本型、数值型或布尔型,匹配元素当前值。
  • value_contains 文本型,匹配元素值中包含的子串。
  • identifier 文本型,匹配元素标识符。并非所有 App 都会提供。
  • bundle_id 文本型,匹配元素所属 App 的 bundle identifier。
  • role 文本型,匹配元素类型。常用值包括 buttontext_fieldstatic_textswitchcheckboxradiosliderpickerscrollablelinkimagekeyboard_key
  • traits 文本型或文本数组,匹配元素特征名称,例如 ButtonStaticTextToggleAdjustable
  • visible 布尔型,匹配元素是否可见。
  • hittable 布尔型,匹配元素当前是否可被命中。动作类接口通常需要目标可命中。
  • checked 布尔型,匹配开关、勾选框、单选项等可确认状态。
  • selected 布尔型,匹配元素是否处于选中状态。
  • index 整数型,当有多个匹配项时取第几个,按 Lua 习惯从 1 开始。

说明

不建议把坐标、尺寸、窗口标识等容易变化的字段作为主要选择器。 多个元素同时匹配且没有指定 index 时,动作类接口可能返回 nil, "ambiguous target"。 不同 App、不同 iOS 版本暴露的字段可能不同,应为关键字段缺失预留处理逻辑。