嗨玩手游网

手把手教你使用AutoJS自动领京豆

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/hyb1996/Auto.js官方论坛:https://wwwjs/在线文档:https://hyb1996.github.io/AutoJs-Docs/#/专业版地址:https://projs/安装

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

开启手机无障碍服务

在某些版本上打开音量上键停止所有脚本,防止死循环脚本(我所使用的版本上默认开启)打开悬浮窗进行布局分析

悬浮窗功能

编辑环境配置

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()

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

appunchApp(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上就可以搜索到更多的脚本。

(此处已添加圈子卡片,请到今日头条客户端查看)
更多资讯
游戏推荐
更多+