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

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

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