模拟操作 - SimpleActionAutomator
# 模拟点击 |click
| 函数名 | 返回值 | 备注 |
| ---------- | :------: | ------------------------------------------------------------ |
| click() | 布尔型 | 返回是否点击成功。当屏幕中并未包含该文本,或者该文本所在区域不能点击时返回false,否则返回true。 |
| **参数名** | **类型** | |
| text | 字符串 | 要点击的文本 |
| i | 整数型 | 如果相同的文本在屏幕中出现多次,则i表示要点击第几个文本, i从0开始计算 |
> 该函数可以点击大部分包含文字的按钮。例如微信主界面下方的"微信", "联系人", "发现", "我"的按钮。
- 通常与while同时使用以便点击按钮直至成功。例如:
```
while(!click("扫一扫"));
```
当不指定参数i时则会尝试点击屏幕上出现的所有文字text并返回是否全部点击成功。
i是从0开始计算的, 也就是, `click("啦啦啦", 0)`表示点击屏幕上第一个"啦啦啦", `click("啦啦啦", 1)`表示点击屏幕上第二个"啦啦啦"。
> 文本所在区域指的是,从文本处向其父视图寻找,直至发现一个可点击的部件为止。
# 模拟点击EX |click
| 函数名 | 返回值 | 备注 |
| ---------- | :------: | ------------------------------------------------------------ |
| click() | 布尔型 | 点击在指定区域的控件。当屏幕中并未包含与该区域严格匹配的区域,或者该区域不能点击时返回false,否则返回true。 |
| **参数名** | **类型** | |
| left | 整数型 | 要点击的长方形区域左边与屏幕左边的像素距离 |
| top | 整数型 | 要点击的长方形区域上边与屏幕上边的像素距离 |
| bottom | 整数型 | 要点击的长方形区域下边与屏幕下边的像素距离 |
| right | 整数型 | 要点击的长方形区域右边与屏幕右边的像素距离 |
**注意,该函数一般只用于录制的脚本中使用,在自己写的代码中使用该函数一般不要使用该函数。****
有些按钮或者部件是图标而不是文字(例如发送朋友圈的照相机图标以及QQ下方的消息、联系人、动态图标),这时不能通过`click(text, i)`来点击,可以通过描述图标所在的区域来点击。left, bottom, top, right描述的就是点击的区域。
至于要定位点击的区域,可以在悬浮窗使用布局分析工具查看控件的bounds属性。
通过无障碍服务录制脚本会生成该语句。
# 模拟长按 |click
| 函数名 | 返回值 | 备注 |
| ----------- | :------: | ------------------------------------------------------------ |
| longClick() | 布尔型 | 返回是否点击成功。当屏幕中并未包含该文本,或者该文本所在区域不能点击时返回false,否则返回true。 |
| **参数名** | **类型** | |
| text | 字符串 | 要长按的文本 |
| i | 整数型 | 如果相同的文本在屏幕中出现多次,则i表示要长按第几个文本, i从0开始计算 |
> 当不指定参数i时则会尝试点击屏幕上出现的所有文字text并返回是否全部长按成功。
# 滑动控件 |scrollUp
| 函数名 | 返回值 | 备注 |
| ---------- | :------: | ------------------------------------------------------------ |
| scrollUp() | 布尔型 | 找到第i+1个可滑动控件上滑或**左滑**。返回是否操作成功。屏幕上没有可滑动的控件时返回false。 |
| **参数名** | **类型** | |
| i | 整数型 | 要滑动的控件序号 |
> 另外不加参数时`scrollUp()`会寻找面积最大的可滑动的控件上滑或左滑,例如微信消息列表等。
>
> 参数为一个整数i时会找到第i + 1个可滑动控件滑动。例如`scrollUp(0)`为滑动第一个可滑动控件。
# 滑动控件 |scrollDown
| 函数名 | 返回值 | 备注 |
| ------------ | :------: | ------------------------------------------------------------ |
| scrollDown() | 布尔型 | 找到第i+1个可滑动控件下滑或**右滑**。返回是否操作成功。屏幕上没有可滑动的控件时返回false。 |
| **参数名** | **类型** | |
| i | 整数型 | 要滑动的控件序号 |
> 另外不加参数时`scrollUp()`会寻找面积最大的可滑动的控件下滑或右滑。
>
> 参数为一个整数i时会找到第i + 1个可滑动控件滑动。例如`scrollUp(0)`为滑动第一个可滑动控件。
# 输入文本 |setText
| 函数名 | 返回值 | 备注 |
| ---------- | :------: | --------------------------------------------------- |
| setText() | 布尔型 | 返回是否输入成功。当找不到对应的文本框时返回false。 |
| **参数名** | **类型** | |
| i | 整数型 | 表示要输入的为第i + 1个输入框 |
| text | 字符串 | 要输入的文本 |
> 不加参数i则会把所有输入框的文本都置为text。例如`setText("测试")`。
>
> 这里的输入文本的意思是,把输入框的文本置为text,而不是在原来的文本上追加。
# 输入文本 |input
| 函数名 | 返回值 | 备注 |
| ---------- | :------: | --------------------------------------------------- |
| input() | 布尔型 | 返回是否输入成功。当找不到对应的文本框时返回false。 |
| **参数名** | **类型** | |
| i | 整数型 | 表示要输入的为第i + 1个输入框 |
| text | 字符串 | 要输入的文本 |
> 不加参数i则会把所有输入框的文本追加内容text。例如`input("测试")`。