Перейти к основному содержимому

Описание полей селектора

Модуль доступен в версиях после 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; предусмотрите обработку отсутствия важных полей.