UiSelector
- 更新时间:2025-08-02 14:23:36
UI选择器
界面的元素有很多,但不一定都是我们要找的那个节点,因此我们需要一些筛选条件过滤掉这些节点。
UI选择器主要用来过滤界面元素,并且选中我们想要的元素。所以在使用的时候我们需要两类方法:(1).筛选元素;(2).选中元素;
//(1)筛选元素
let selector = $act.selector() // 创建UI选择器
.text("登录") //筛选文本是"登录"的元素
.cls("android.widget.Button") //筛选类名为"android.widget.Button"的元素
.pkg("org.aigame.pro") //筛选包名为"org.aigame.pro"的元素
.desc("点击登录"); //筛选描述是"点击登录"的元素
//(2)选中节点
let node = selector.findFirst(); // 查找一个节点
//其实上面的代码可以直接写成:
let node = $act.selector()
.text("登录") //筛选文本是"登录"的元素
.cls("android.widget.Button") //筛选类名为"android.widget.Button"的元素
.pkg("org.aigame.pro") //筛选包名为"org.aigame.pro"的元素
.desc("点击登录") //筛选描述是"点击登录"的元素
.findFirst(); // 查找一个节点
screen(transCut, vertCut, index)
屏幕区域
按照屏幕进行切割,在切割的范围中查找元素
- 参数 : transCut {int} 横向切割数
- 参数 : vertCut {int} 纵向切割数
- 参数 : index {int} 第几个区域
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
clickable(able)
可点击的
- 参数 : able {boolean} 是否可点击
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
longClickable(able)
可长按的
- 参数 : able {boolean} 是否可长按
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
enabled(able)
可用的
- 参数 : able {boolean} 是否可用
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
selected(able)
选中的
- 参数 : able {boolean} 是否选中
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
scrollable(able)
可滚动的
- 参数 : able {boolean} 是否可滚动
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
checkable(able)
可勾选的
- 参数 : able {boolean} 是否可勾选
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
checked(able)
勾选的
- 参数 : able {boolean} 是否勾选
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
region(x, y, w, h)
范围
- 参数 : x {int} x坐标
- 参数 : y {int} y坐标
- 参数 : w {int} 宽度
- 参数 : h {int} 高度
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
regionHas(x, y, w, h)
输入的范围包含了控件范围
- 参数 : x {int} x坐标
- 参数 : y {int} y坐标
- 参数 : w {int} 宽度
- 参数 : h {int} 高度
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
regionInside(x, y, w, h)
输入的范围在控件范围的里面
- 参数 : x {int} x坐标
- 参数 : y {int} y坐标
- 参数 : w {int} 宽度
- 参数 : h {int} 高度
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
multiLine(able)
多行的
- 参数 : able {boolean} 是否多行
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
drawOrder(order)
绘制顺序
- 参数 : order {int} 绘制顺序
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
desc(desc)
描述
- 参数 : desc {String} 描述
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
descHas(desc)
描述包含
- 参数 : desc {String} 描述
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
descStart(desc)
描述开头
- 参数 : desc {String} 描述
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
descEnd(desc)
描述结尾
- 参数 : desc {String} 描述
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
windowId(id)
窗口id
- 参数 : id {String} id
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
id(id)
资源id
- 参数 : id {String} id
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
idHas(id)
资源id包含
- 参数 : id {String} id
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
idStart(id)
资源id开头
- 参数 : id {String} id
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
idEnd(id)
资源id结尾
- 参数 : id {String} id
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
tip(tip)
提示信息
- 参数 : tip {String} tip
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
tipHas(tip)
提示信息包含
- 参数 : tip {String} tip
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
tipStart(tip)
提示信息开头
- 参数 : tip {String} tip
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
tipEnd(tip)
提示信息结尾
- 参数 : tip {String} tip
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
pkg(packageName)
包名
- 参数 : packageName {String} 包名
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
pkgHas(packageName)
包名包含
- 参数 : packageName {String} 包名
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
pkgStart(packageName)
包名开头
- 参数 : packageName {String} 包名
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
pkgEnd(packageName)
包名结尾
- 参数 : packageName {String} 包名
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
cls(className)
类名
- 参数 : className {String} 类名
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
clsHas(className)
类名包含
- 参数 : className {String} 类名
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
clsStart(className)
类名开头
- 参数 : className {String} 类名
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
clsEnd(className)
类名结尾
- 参数 : className {String} 类名
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
text(text)
文本
- 参数 : text {String} 文本
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
textHas(text)
文本包含
- 参数 : text {String} 文本
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
textStart(text)
文本开头
- 参数 : text {String} 文本
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
textEnd(text)
文本结尾
- 参数 : text {String} 文本
- 返回 : {UiSelector} 自己
- 版本 : 1.0.0
findAll()
查找全部
- 返回 : {Node[]} 找到的集合
- 版本 : 1.0.0
find(index)
查找指定
- 参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
findFirst()
查找第一个
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
findLast()
查找最后一个
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
waitAll()
等待出现任意一个
- 返回 : {Node[]} 找到的控件集合
- 版本 : 1.0.0
waitAll(failCallback)
等待出现任意一个
会按照默认的等待次数来等待控件出现,当然你可以通过setWaitDur()和setWaitTime()来配置这些参数
- 返回 : {Node[]} 找到的控件列表
- 版本 : 1.0.0
let nodes = $act.selector().text("登录").waitAll();
wait(index, failCallback)
等待出现
- 参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
- 参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
wait(index)
等待出现
- 参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
waitFirst()
等待出现第一个
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
waitFirst(failCallback)
等待出现第一个
- 参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
waitLast()
等待出现最后一个
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
waitLast(failCallback)
等待出现最后一个
- 参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
- 返回 : {Node} 找到的控件
- 版本 : 1.0.0
setWaitTime(times)
设置等待次数
- 参数 : times {int} 等待次数(默认:120)
- 版本 : 1.0.0
setWaitDur(times)
设置等待延迟
每次等待中会有一定的间隔
- 参数 : times {int} 等待延迟(默认:500[毫秒])
- 版本 : 1.0.0