선택자 필드 설명
이 모듈은 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 버전에 따라 노출되는 필드가 다를 수 있으므로 핵심 필드가 없을 때를 처리하는 로직을 마련해야 합니다.