SimpleActionAutomator

稳定性: 稳定

SimpleActionAutomator 提供了一些模拟简单操作的函数,例如点击文字、模拟按键等。这些函数可以直接作为全局函数使用。

click(text[, i])

  • text {string} 要点击的文本
  • i {number} 如果相同的文本在屏幕中出现多次,则 i 表示要点击第几个文本, i 从 0 开始计算

返回是否点击成功。当屏幕中并未包含该文本,或者该文本所在区域不能点击时返回 false,否则返回 true。

该函数可以点击大部分包含文字的按钮。例如微信主界面下方的"微信", "联系人", "发现", "我"的按钮。
通常与 while 同时使用以便点击按钮直至成功。例如:

1while (!click("扫一扫"));

当不指定参数 i 时则会尝试点击屏幕上出现的所有文字 text 并返回是否全部点击成功。

i 是从 0 开始计算的, 也就是, click("啦啦啦", 0)表示点击屏幕上第一个"啦啦啦", click("啦啦啦", 1)表示点击屏幕上第二个"啦啦啦"。

文本所在区域指的是,从文本处向其父视图寻找,直至发现一个可点击的部件为止。

click(left, top, bottom, right)

  • left {number} 要点击的长方形区域左边与屏幕左边的像素距离
  • top {number} 要点击的长方形区域上边与屏幕上边的像素距离
  • bottom {number} 要点击的长方形区域下边与屏幕下边的像素距离
  • right {number} 要点击的长方形区域右边与屏幕右边的像素距离

注意,该函数一般只用于录制的脚本中使用,在自己写的代码中使用该函数一般不要使用该函数。

点击在指定区域的控件。当屏幕中并未包含与该区域严格匹配的区域,或者该区域不能点击时返回 false,否则返回 true。

有些按钮或者部件是图标而不是文字(例如发送朋友圈的照相机图标以及 QQ 下方的消息、联系人、动态图标),这时不能通过click(text, i)来点击,可以通过描述图标所在的区域来点击。left, bottom, top, right 描述的就是点击的区域。

至于要定位点击的区域,可以在悬浮窗使用布局分析工具查看控件的 bounds 属性。

通过无障碍服务录制脚本会生成该语句。

longClick(text[, i])

  • text {string} 要长按的文本
  • i {number} 如果相同的文本在屏幕中出现多次,则 i 表示要长按第几个文本, i 从 0 开始计算

返回是否点击成功。当屏幕中并未包含该文本,或者该文本所在区域不能点击时返回 false,否则返回 true。

当不指定参数 i 时则会尝试点击屏幕上出现的所有文字 text 并返回是否全部长按成功。

scrollUp([i])

  • i {number} 要滑动的控件序号

找到第 i+1 个可滑动控件上滑或左滑。返回是否操作成功。屏幕上没有可滑动的控件时返回 false。

另外不加参数时scrollUp()会寻找面积最大的可滑动的控件上滑或左滑,例如微信消息列表等。

参数为一个整数 i 时会找到第 i + 1 个可滑动控件滑动。例如scrollUp(0)为滑动第一个可滑动控件。

scrollDown([i])

  • i {number} 要滑动的控件序号

找到第 i+1 个可滑动控件下滑或右滑。返回是否操作成功。屏幕上没有可滑动的控件时返回 false。

另外不加参数时scrollUp()会寻找面积最大的可滑动的控件下滑或右滑。

参数为一个整数 i 时会找到第 i + 1 个可滑动控件滑动。例如scrollUp(0)为滑动第一个可滑动控件。

setText([i, ]text)

  • i {number} 表示要输入的为第 i + 1 个输入框
  • text {string} 要输入的文本

返回是否输入成功。当找不到对应的文本框时返回 false。

不加参数 i 则会把所有输入框的文本都置为 text。例如setText("测试")

这里的输入文本的意思是,把输入框的文本置为 text,而不是在原来的文本上追加。

input([i, ]text)

  • i {number} 表示要输入的为第 i + 1 个输入框
  • text {string} 要输入的文本

返回是否输入成功。当找不到对应的文本框时返回 false。

不加参数 i 则会把所有输入框的文本追加内容 text。例如input("测试")