最近不是老刷到各种自动化的脚本嘛我就琢磨着自己也搞一个。然后就发现*这个东西,据说不用root就能在安卓手机上跑脚本,听着就挺方便的,所以我就动手试试。
下载安装
我一开始是在网上找的 * 的安装包,发现版本还挺多的,有点懵。后来才知道,现在好像有个 * Pro 版本,不过我就是想先体验一下,就随便找个免费版的先用着。
安装过程倒是没啥特别的,就跟装普通app一样,点几下就完事。不过装完之后,我发现它会要很多权限,尤其是那个“无障碍服务”权限,说是要用这个来模拟点击啥的,虽然有点担心,但还是给。
编写脚本
装好之后,我就迫不及待地想写个脚本试试。* 是用 JavaScript 写的,还好我以前稍微学过一点点 JavaScript,勉强能看懂。不过 * 提供一些它自己特有的函数,比如模拟点击、滑动之类的,这些我就得现学现卖。
我一开始是照着网上的例子,写个简单的脚本,功能就是自动打开某个app,然后点几个按钮。代码大概长这样:
// 启动app
launchApp("应用名称");
// 等待一段时间
sleep(2000);
// 点击某个按钮
click("按钮文字");
// 再等待一段时间
sleep(1000);
看着挺简单的?但实际写的时候,还是遇到一些问题。比如说,怎么找到要点击的按钮?
控件定位
这里就要用到 * 的控件分析功能。它可以显示屏幕上各个控件的信息,比如控件的文字、ID、位置等等。有这些信息,我们就可以在脚本里通过这些信息来找到对应的控件,然后进行操作。
比如说,我要点击一个文本内容是“确定”的按钮,就可以这样写:
click("确定");
或者,如果这个按钮没有文字,但是它有一个唯一的 ID,我也可以通过 ID 来找到它:
click("button_id");
实际情况可能更复杂,有时候需要根据控件的位置、层级关系等多个条件来定位。* 也提供一些更高级的函数,比如 find()
、findOne()
等等,可以用来进行更复杂的控件查找。
运行脚本
写好脚本之后,就可以直接在 * 里运行。我第一次运行的时候,还挺紧张的,生怕出啥问题。还一切顺利,脚本成功地打开app,然后点几下按钮,完成预期的操作。
实践中遇到的坑
实际使用中,还是会遇到各种各样的坑。比如说:
- 不同手机的兼容性问题: 有些代码在我的手机上跑得好好的,换个手机就不行,可能是因为不同手机的屏幕分辨率、系统版本等不一样导致的。
- 页面变化导致脚本失效: 如果app的界面发生变化,比如按钮的位置变,或者文字改,那么原来的脚本就可能失效,需要重新修改。
- 反检测机制: 有些app可能会检测到你在使用自动化脚本,然后进行一些限制,比如弹出验证码、封号之类的。
* 确实是个挺好玩的东西,可以实现一些简单的自动化操作。不过要想真正用好它,还是需要不断地学习和尝试。我也还在摸索中,以后有啥新的发现再来跟大家分享。