千机游戏提供最新游戏下载和手游攻略!

深入指导:AutoJS教程——轻松掌握领京豆技巧

发布时间:2024-10-16浏览:53

AutoJS

一个支持无障碍服务的Android平台上的JavaScript IDE。Autojs主要是基于安卓系统的无障碍服务,实现自动化操控和监控手机信息处理。

特性:

由无障碍服务实现的简单易用的自动操作函数

悬浮窗录制和运行

更专业&强大的选择器API,提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于Google的UI测试框架UiAutomator,您也可以把他当做移动版UI测试框架使用

采用JavaScript为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一个JavaScript IDE使用

支持使用e4x编写界面,并可以将JavaScript打包为apk文件,您可以用它来开发小工具应用

支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。录制录制可产生js文件或二进制文件,录制动作的回放比较流畅

提供截取屏幕、保存截图、图片找色、找图等函数

可作为Tasker插件使用,结合Tasker可胜任日常工作流

带有界面分析工具,类似Android Studio的LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息

项目介绍:

项目地址:https://github.com/hyb1996/Auto.js

官方论坛:https://www.autojs.org/

在线文档:https://hyb1996.github.io/AutoJs-Docs/#/

专业版地址:https://pro.autojs.org/

安装

免费版在百度上搜索autojs.apk,下载后即可安装,免费版已更新至4.1.1Beta并且不再更新。最新版已经开始收费,下载地址:https://pro.autojs.org/

开启手机无障碍服务

在某些版本上打开音量上键停止所有脚本,防止死循环脚本(我所使用的版本上默认开启)

打开悬浮窗进行布局分析

悬浮窗功能

编辑环境配置

autojs软件提供了非常好的手机端编写支持,拥有强大的提示功能,基本上我们在手机端进行编写也是非常舒适的。同时有VS Code 插件可提供基础的在桌面开发的功能。免费版我们下载:Auto.js-VSCodeExt

根据我们安装的版本进行选择

插件命令:

按Ctrl+Shift+P或点击“查看”->“命令面板”可调出命令面板,输入Auto.js可以看到以下命令:

Start Server: 启动插件服务。之后在确保手机和电脑在同一区域网的情况下,在Auto.js的侧拉菜单中使用连接电脑功能连接。

Stop Server: 停止插件服务。

Run: 运行当前编辑器的脚本。如果有多个设备连接,则该所有设备运行。

Rerun: 停止当前文件对应的脚本并重新运行。如果有多个设备连接,则该所有设备重新运行。

Stop: 停止当前文件对应的脚本。如果有多个设备连接,则该所有设备停止。

StopAll: 停止所有正在运行的脚本。如果有多个设备连接,则在所有设备运行所有脚本。

Save: 保存当前文件到手机的脚本默认目录(文件名会加上前缀remote)。如果有多个设备连接,则在所有设备保存。

RunOnDevice: 弹出设备菜单并在指定设备运行脚本。

SaveToDevice: 弹出设备菜单并在指定设备保存脚本。

New Project(新建项目):选择一个空文件夹(或者在文件管理器中新建一个空文件夹),将会自动创建一个项目

Run Project(运行项目):运行一个项目,需要Auto.js 4.0.4Alpha5以上支持

Save Project(保存项目):保存一个项目,需要Auto.js 4.0.4Alpha5以上支持

使用vscode进行开发

在命令面板选择Start Server启动服务,右下角会显示Auto.js server running

将手机与电脑连接到同一个WiFi,查看电脑的IP地址。在手机端AutoJS侧边菜单中选择远程调试,并输入电脑IP,vscode中会显示连接成功AutoJS侧边栏设置

vscode右下角

vscode中创建JS文件,按F5或者选择Run命令,即可在手机端进行运行

在vscode命令面板中选择Save,将自动发送并保存到手机上

常用命令及函数

auto.waitFor()

检查无障碍服务是否已经启用,如果没有启用则跳转到无障碍服务启用界面,并等待无障碍服务启动;当无障碍服务启动后脚本会继续运行。

app.launchApp(appName)

appName {string} 应用名称

通过应用名称启动应用。如果该名称对应的应用不存在,则返回false; 否则返回true。如果该名称对应多个应用,则只启动其中某一个。

UiSelector.text(str)

str {string} 控件文本

返回 {UiSelector} 返回选择器自身以便链式调用

为当前选择器附加控件"text等于字符串str"的筛选条件。

控件的text(文本)属性是文本控件上的显示的文字,例如微信左上角的"微信"文本。

UiSelector.textContains(str)

str {string} 要包含的字符串

为当前选择器附加控件"text需要包含字符串str"的筛选条件。

这是一个比较有用的条件,例如QQ动态页和微博发现页上方的"大家都在搜…."的控件可以用textContains("大家都在搜").findOne()来获取。

bounds()

返回 Rect

返回控件在屏幕上的范围,其值是一个Rect对象

findOne(selector)

selector UiSelector

返回 UiOobject

根据选择器selector在该控件的子控件、孙控件…中搜索符合该选择器条件的控件,并返回找到的第一个控件;如果没有找到符合条件的控件则返回null。

其他API请看官方文档。要注意控件的click函数不一定会生效,因此推荐使用全局点击click函数。

京东签到领京豆

开启AutoJS的悬浮窗

打开京东商城APP

选择AutoJS悬浮窗的布局分析

选择布局分析

布局范围分析

点击领京豆

生成代码

查看text、id、desc,也可以选择生成代码上面我们看到生成代码失败了,那么就要查看控件信息,发现底下text属性为“领京豆”

然后我们就可以在代码中使用text('领京豆'),来获取这个控件了。

具体的安装及使用以及介绍完了,接下来就是按照API来调试我们的程序了。

目前最新版的AutoJS Pro已经是付费制了,但是免费版的在百度依然能搜到,打开百度,搜索autojs.apk,可以下载比较新的版本使用,基本上也能满足我们很多需求。另外论坛已经停止更新了,但是我们依然可以在上面搜索到一些脚本。当然直接在GitHub上就可以搜索到更多的脚本。

(此处已添加圈子卡片,请到今日头条客户端查看)

用户评论

浅笑√倾城

这个游戏名字听起来好高级啊,竟然能自动领京豆。

    有7位网友表示赞同!

青衫负雪

我一直想尝试自动助手,看这个名字好像挺适合我的需要。

    有18位网友表示赞同!

心贝

不知道这游戏是手机版还是电脑版的?我更喜欢在手机上玩儿。

    有12位网友表示赞同!

?娘子汉

自动领京豆,听起来很方便啊,有没有人试过这个游戏的效率怎么样?

    有16位网友表示赞同!

热点资讯