본문으로 건너뛰기

선택자 필드 설명

이 모듈은 20260507 이후 버전에서 사용할 수 있습니다.

선택자는 찾거나 조작할 UI 요소를 설명하는 Lua 테이블입니다. 읽을 수 있는 텍스트와 역할을 조합하여 우선 위치를 지정하고, 필요할 때 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 문자열. 요소 유형과 일치시킵니다. 자주 쓰는 값에는 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 버전에 따라 노출되는 필드가 다를 수 있으므로 핵심 필드가 없을 때를 처리하는 로직을 마련해야 합니다.