AIGameAIGame
首页
API文档
UI框架
API实例
UI实例
下载软件
首页
API文档
UI框架
API实例
UI实例
下载软件
  • API文档

    • $global - 全局函数
    • $act - 手势动作
      • 01.手势动作 - $act
      • 02.节点选择器 - UiSelector
    • $ag - 图色框架
    • $app - 应用操作
    • $arc - 悬浮菜单按钮
      • 01.悬浮菜单 - $arc
      • 02.悬浮容器 - MenuBody
      • 03.菜单按钮 - MenuItem
    • $bus - 消息总线
    • $color - 颜色操作
    • $crypt - 加密算法
    • $device - 设备信息
    • $dex - dex,jar,so文件加载
    • $draw - 全局绘制
    • $engine - 脚本引擎
      • 01.任务信息 - JsTaskInfo
      • 02.脚本对象 - $task
    • $fc - 文件选择器
    • $file - 文件操作
    • $floaty - 悬浮窗
    • $img - 图片操作
    • $log - 日志框架
    • $ocr - 文字识别
    • $res - 资源管理器
      • 01.资源管理器 - $res
      • 02.资源操作 - ResManager
    • $root - ROOT与Shell命令
    • $screen - 屏幕操作
    • $storage - 应用内存储
    • $str - 字符串工具类
    • $sys - 系统操作
    • $thread - 并发编程
    • $tip - 对话框
    • $tts - 文字阅读

UiSelector 返回

UI选择器
UI选择器也用于WebView上的元素查找,可自行测试
每次使用UI选择器的时候都需要重新创建新的对象

//创建ui选择器
let selector = $act.selector();
//过滤元素
selector.screen(1, 1, 1)
    .pkg("org.aigame.demo")
    .cls("org.aigame.core.MainActivity")
    .text("按钮");

//元素查找

let node = selector.findFirst();

//或者(等待出现)

let node = selector.waitLast();

//等待出现时,可用写回调函数
let node = selector.waitLast(() => {
    console.log("没有找到,继续等待控件出现");
});

//直接一步到位的写法(常用)
//上面的写法是为了帮大家理解,所以拆开写
let node = $act
    .selector() //创建选择器
    .screen(1, 1, 1) //过滤元素
    .pkg("org.aigame.demo") //过滤元素
    .cls("org.aigame.core.MainActivity") //过滤元素
    .text("按钮") //过滤元素
    .waitLast(); //查找元素

//操作节点(具体操作请参考 $act 文档)

$act.click(node);
$act.move(node, 100, 500, 1000);//从节点中心滑动到指定位置

screen(transCut,vertCut,index)

版本:1.0.0 屏幕区域
按照屏幕进行切割,在切割的范围中查找元素

  • 参数 : transCut {int} 横向切割数
  • 参数 : vertCut {int} 纵向切割数
  • 参数 : index {int} 第几个区域
  • 返回 : {this} 自己

clickable(able)

版本:1.0.0 可点击的

  • 参数 : able {boolean} 是否可点击
  • 返回 : {this} 自己

longClickable(able)

版本:1.0.0 可长按的

  • 参数 : able {boolean} 是否可长按
  • 返回 : {this} 自己

enabled(able)

版本:1.0.0 可用的

  • 参数 : able {boolean} 是否可用
  • 返回 : {this} 自己

selected(able)

版本:1.0.0 选中的

  • 参数 : able {boolean} 是否选中
  • 返回 : {this} 自己

scrollable(able)

版本:1.0.0 可滚动的

  • 参数 : able {boolean} 是否可滚动
  • 返回 : {this} 自己

checkable(able)

版本:1.0.0 可勾选的

  • 参数 : able {boolean} 是否可勾选
  • 返回 : {this} 自己

checked(able)

版本:1.0.0 勾选的

  • 参数 : able {boolean} 是否勾选
  • 返回 : {this} 自己

region(x,y,w,h)

版本:1.0.0 范围

  • 参数 : x {int} x坐标
  • 参数 : y {int} y坐标
  • 参数 : w {int} 宽度
  • 参数 : h {int} 高度
  • 返回 : {this} 自己

regionHas(x,y,w,h)

版本:1.0.0 输入的范围包含了控件范围

  • 参数 : x {int} x坐标
  • 参数 : y {int} y坐标
  • 参数 : w {int} 宽度
  • 参数 : h {int} 高度
  • 返回 : {this} 自己

regionInside(x,y,w,h)

版本:1.0.0 输入的范围在控件范围的里面

  • 参数 : x {int} x坐标
  • 参数 : y {int} y坐标
  • 参数 : w {int} 宽度
  • 参数 : h {int} 高度
  • 返回 : {this} 自己

multiLine(able)

版本:1.0.0 多行的

  • 参数 : able {boolean} 是否多行
  • 返回 : {this} 自己

drawOrder(order)

版本:1.0.0 绘制顺序

  • 参数 : order {int} 绘制顺序
  • 返回 : {this} 自己

desc(desc)

版本:1.0.0 描述

  • 参数 : desc {String} 描述
  • 返回 : {this} 自己

descHas(desc)

版本:1.0.0 描述包含

  • 参数 : desc {String} 描述
  • 返回 : {this} 自己

descStart(desc)

版本:1.0.0 描述开头

  • 参数 : desc {String} 描述
  • 返回 : {this} 自己

descEnd(desc)

版本:1.0.0 描述结尾

  • 参数 : desc {String} 描述
  • 返回 : {this} 自己

windowId(id)

版本:1.0.0 窗口id

  • 参数 : id {String} id
  • 返回 : {this} 自己

id(id)

版本:1.0.0 资源id

  • 参数 : id {String} id
  • 返回 : {this} 自己

idHas(id)

版本:1.0.0 资源id包含

  • 参数 : id {String} id
  • 返回 : {this} 自己

idStart(id)

版本:1.0.0 资源id开头

  • 参数 : id {String} id
  • 返回 : {this} 自己

idEnd(id)

版本:1.0.0 资源id结尾

  • 参数 : id {String} id
  • 返回 : {this} 自己

pkg(packageName)

版本:1.0.0 包名

  • 参数 : packageName {String} 包名
  • 返回 : {this} 自己

pkgHas(packageName)

版本:1.0.0 包名包含

  • 参数 : packageName {String} 包名
  • 返回 : {this} 自己

pkgStart(packageName)

版本:1.0.0 包名开头

  • 参数 : packageName {String} 包名
  • 返回 : {this} 自己

pkgEnd(packageName)

版本:1.0.0 包名结尾

  • 参数 : packageName {String} 包名
  • 返回 : {this} 自己

cls(className)

版本:1.0.0 类名

  • 参数 : className {String} 类名
  • 返回 : {this} 自己

clsHas(className)

版本:1.0.0 类名包含

  • 参数 : className {String} 类名
  • 返回 : {this} 自己

clsStart(className)

版本:1.0.0 类名开头

  • 参数 : className {String} 类名
  • 返回 : {this} 自己

clsEnd(className)

版本:1.0.0 类名结尾

  • 参数 : className {String} 类名
  • 返回 : {this} 自己

text(text)

版本:1.0.0 文本

  • 参数 : text {String} 文本
  • 返回 : {this} 自己

textHas(text)

版本:1.0.0 文本包含

  • 参数 : text {String} 文本
  • 返回 : {this} 自己

textStart(text)

版本:1.0.0 文本开头

  • 参数 : text {String} 文本
  • 返回 : {this} 自己

textEnd(text)

版本:1.0.0 文本结尾

  • 参数 : text {String} 文本
  • 返回 : {this} 自己

findAll()

版本:1.0.0 查找全部

  • 返回 : {AccessibilityNodeInfo[]} 找到的集合

find(index)

版本:1.0.0 查找指定

  • 参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
  • 返回 : {AccessibilityNodeInfo} 找到的控件

findFirst()

版本:1.0.0 查找第一个

  • 返回 : {AccessibilityNodeInfo} 找到的控件

findLast()

版本:1.0.0 查找最后一个

  • 返回 : {AccessibilityNodeInfo} 找到的控件

waitAll()

版本:1.0.0 等待出现任意一个

  • 返回 : {AccessibilityNodeInfo[]} 找到的控件集合

waitAll(failCallback)

版本:1.0.0 等待出现任意一个

  • 返回 : {AccessibilityNodeInfo} 找到的控件

wait(index,failCallback)

版本:1.0.0 等待出现

  • 参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
  • 参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
  • 返回 : {AccessibilityNodeInfo} 找到的控件

wait(index)

版本:1.0.0 等待出现

  • 参数 : index {int} 第几个,如果index在集合的范围内,就返回index对应的控件,否则返回第一个
  • 返回 : {AccessibilityNodeInfo} 找到的控件

waitFirst()

版本:1.0.0 等待出现第一个

  • 返回 : {AccessibilityNodeInfo} 找到的控件

waitFirst(failCallback)

版本:1.0.0 等待出现第一个

  • 参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
  • 返回 : {AccessibilityNodeInfo} 找到的控件

waitLast()

版本:1.0.0 等待出现最后一个

  • 返回 : {AccessibilityNodeInfo} 找到的控件

waitLast(failCallback)

版本:1.0.0 等待出现最后一个

  • 参数 : failCallback {()=>{}} 失败回调:连一个控件也没有找到时会回调
  • 返回 : {AccessibilityNodeInfo} 找到的控件

setWaitTime(times)

版本:1.0.0 设置等待次数

  • 参数 : times {int} 等待次数(默认:120)

setWaitDur(times)

版本:1.0.0 设置等待延迟
每次等待中会有一定的间隔

  • 参数 : times {int} 等待延迟(默认:500[毫秒])
最近更新:: 2025/5/14 08:43
Contributors: 孑小白
Prev
01.手势动作 - $act