Описание полей селектора
Модуль доступен в версиях после 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 Строка, сопоставление с bundle identifier App, которому принадлежит элемент.
- role
Строка, сопоставление с типом элемента. Распространённые значения:
button,text_field,static_text,switch,checkbox,radio,slider,picker,scrollable,link,image,keyboard_key. - traits
Строка или массив строк, сопоставление с именами признаков элемента, например
Button,StaticText,Toggle,Adjustable. - visible Логическое значение, сопоставление с видимостью элемента.
- hittable Логическое значение, можно ли сейчас попасть по элементу. Интерфейсы действий обычно требуют доступной цели.
- checked Логическое значение, сопоставление с подтверждённым состоянием переключателя, флажка, радиокнопки и других элементов.
- selected Логическое значение, сопоставление с выбранным состоянием элемента.
- index
Целое число, какой по счёту элемент выбрать при нескольких совпадениях; по соглашению Lua отсчёт начинается с
1.
Описание
Не рекомендуется использовать координаты, размеры, идентификаторы окон и другие изменчивые поля как основной селектор. Если совпадает несколько элементов и
indexне задан, интерфейс действия может вернутьnil, "ambiguous target". Набор полей может различаться у разных App и версий iOS; предусмотрите обработку отсутствия важных полей.