UI选择器
界面的元素有很多,但不一定都是我们要找的那个节点,因此我们需要一些筛选条件过滤掉这些节点。
UI选择器主要用来过滤界面元素,并且选中我们想要的元素。所以在使用的时候我们需要两类方法:(1).筛选元素;(2).选中元素;
屏幕区域
按照屏幕进行切割,在切割的范围中查找元素
参数 : transCut {int} 横向切割数
参数 : vertCut {int} 纵向切割数
参数 : index {int} 第几个区域
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
可点击的
参数 : able {boolean} 是否可点击
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
是否可见
参数 : able {boolean} 是否可见
返回 : {UiSelector} 节点选择器
版本 : 1.6.1
可长按的
参数 : able {boolean} 是否可长按
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
可用的
参数 : able {boolean} 是否可用
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
选中的
参数 : able {boolean} 是否选中
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
可滚动的
参数 : able {boolean} 是否可滚动
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
可勾选的
参数 : able {boolean} 是否可勾选
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
勾选的
参数 : able {boolean} 是否勾选
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
范围
参数 : x {int} x坐标
参数 : y {int} y坐标
参数 : w {int} 宽度
参数 : h {int} 高度
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
输入的范围包含了控件范围
参数 : x {int} x坐标
参数 : y {int} y坐标
参数 : w {int} 宽度
参数 : h {int} 高度
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
输入的范围在控件范围的里面
参数 : x {int} x坐标
参数 : y {int} y坐标
参数 : w {int} 宽度
参数 : h {int} 高度
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
多行的
参数 : able {boolean} 是否多行
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
绘制顺序
参数 : order {int} 绘制顺序
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
描述
参数 : desc {String} 描述
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
描述不能为空
如规定描述不能为空,当遇到描述为空的节点时会自动过滤这个节点
参数 : notNull {boolean} 是否不能为空
返回 : {UiSelector} 节点选择器
版本 : 1.7.6
描述包含
参数 : desc {String} 描述
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
描述开头
参数 : desc {String} 描述
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
描述结尾
参数 : desc {String} 描述
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
描述匹配正则表达式
参数 : regex {String} 正则表达式
返回 : {UiSelector} 节点选择器
版本 : 1.6.8
窗口id
参数 : id {String} id
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
资源id
参数 : id {String} id
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
资源id不能为空
如规定资源id不能为空,当遇到id为空的节点时会自动过滤这个节点
参数 : notNull {boolean} 是否不能为空
返回 : {UiSelector} 节点选择器
版本 : 1.7.6
资源id包含
参数 : id {String} id
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
资源id开头
参数 : id {String} id
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
资源id结尾
参数 : id {String} id
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
资源id匹配正则表达式
参数 : regex {String} 正则表达式
返回 : {UiSelector} 节点选择器
版本 : 1.6.8
提示信息
参数 : tip {String} tip
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
提示信息不能为空
如规定提示信息不能为空,当遇到提示信息为空的节点时会自动过滤这个节点
参数 : notNull {boolean} 是否不能为空
返回 : {UiSelector} 节点选择器
版本 : 1.7.6
提示信息包含
参数 : tip {String} tip
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
提示信息开头
参数 : tip {String} tip
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
提示信息结尾
参数 : tip {String} tip
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
提示信息匹配正则表达式
参数 : regex {String} 正则表达式
返回 : {UiSelector} 节点选择器
版本 : 1.6.8
包名
参数 : packageName {String} 包名
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
包名不能为空
如规定包名不能为空,当遇到提包名为空的节点时会自动过滤这个节点
参数 : notNull {boolean} 是否不能为空
返回 : {UiSelector} 节点选择器
版本 : 1.7.6
包名包含
参数 : packageName {String} 包名
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
包名开头
参数 : packageName {String} 包名
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
包名结尾
参数 : packageName {String} 包名
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
包名匹配正则
参数 : regex {String} 正则表达式
返回 : {UiSelector} 节点选择器
版本 : 1.6.8
类名
参数 : className {String} 类名
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
类名不能为空
如规定类名不能为空,当遇到提类名为空的节点时会自动过滤这个节点
参数 : notNull {boolean} 是否不能为空
返回 : {UiSelector} 节点选择器
版本 : 1.7.6
类名包含
参数 : className {String} 类名
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
类名开头
参数 : className {String} 类名
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
类名结尾
参数 : className {String} 类名
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
类名匹配正则表达式
参数 : regex {String} 正则表达式
返回 : {UiSelector} 节点选择器
版本 : 1.6.8
文本
参数 : text {String} 文本
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
文本不能为空
如规定文本不能为空,当遇到文本为空的节点时会自动过滤这个节点
参数 : notNull {boolean} 是否不能为空
返回 : {UiSelector} 节点选择器
版本 : 1.7.6
文本包含
参数 : text {String} 文本
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
文本开头
参数 : text {String} 文本
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
文本结尾
参数 : text {String} 文本
返回 : {UiSelector} 节点选择器
版本 : 1.0.0
文本匹配正则
参数 : regex {String} 正则表达式
返回 : {UiSelector} 节点选择器
版本 : 1.6.8
构建或者过滤器
创建新的过滤器,并且与之前的过滤器处于或者的关系,当选择当前界面元素的时候,如果存在多个过滤器,只要有一个过滤器满足条件,即可返回结果节点。
返回 : {UiSelector} 节点选择器
版本 : 1.7.8
查找全部
返回 : {Node[]} 找到的集合
版本 : 1.0.0
查找指定
参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
返回 : {Node} 找到的控件
版本 : 1.0.0
查找第一个
返回 : {Node} 找到的控件
版本 : 1.0.0
查找最后一个
返回 : {Node} 找到的控件
版本 : 1.0.0
等待出现任意一个
返回 : {Node[]} 找到的控件集合
版本 : 1.0.0
等待出现任意一个
会按照默认的等待次数来等待控件出现,当然你可以通过setWaitDur()和setWaitTime()来配置这些参数
返回 : {Node[]} 找到的控件列表
版本 : 1.0.0
等待出现
参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
返回 : {Node} 找到的控件
版本 : 1.0.0
等待出现
参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
返回 : {Node} 找到的控件
版本 : 1.0.0
等待出现第一个
返回 : {Node} 找到的控件
版本 : 1.0.0
等待出现第一个
参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
返回 : {Node} 找到的控件
版本 : 1.0.0
等待出现最后一个
返回 : {Node} 找到的控件
版本 : 1.0.0
等待出现最后一个
参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
返回 : {Node} 找到的控件
版本 : 1.0.0
设置等待次数
参数 : times {int} 等待次数(默认:120)
版本 : 1.0.0
设置等待延迟
每次等待中会有一定的间隔
参数 : times {int} 等待延迟(默认:500[毫秒])
版本 : 1.0.0
设置是否只搜索主窗口
默认情况下搜索所有的窗口,不过有时候应对一些复杂的UI可能会出现窗口过多(导致元素过多)导致栈溢出的异常, 部分app的创建界面如果构建的很复杂,也会导致节点元素不能被及时找出来,因此这个函数就是设置当前选择器只在主窗口中查找元素。
举个比较奇葩的例子:有些软件只有当分析主窗口的时候才能找到节点,但是如果分析全部窗口反而找不到节点了,非常奇葩。
参数 : yes {boolean} true:只搜索主窗口,false:搜索所有窗口
返回 : 1.7.8