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



AutoJS

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

特性:

  1. 由无障碍服务实现的简单易用的自动操做函数shell

  2. 悬浮窗录制和运行微信

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

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

  5. 支持使用 e4x 编写界面,并能够将 JavaScript 打包为 apk 文件,您能够用它来开发小工具应用编辑器

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

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

  8. 可做为 Tasker 插件使用,结合 Tasker 可胜任平常工做流布局

  9. 带有界面分析工具,相似 Android Studio 的 LayoutInspector,能够分析界面层次和范围、获取界面上的控件信息测试


安装

免费版在网上搜索 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.4 Alpha5 以上支持

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

使用 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 悬浮窗的布局分析

  1. 选择布局分析

  2. 布局范围分析

  3. 点击领京豆

  4. 生成代码

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


而后咱们就能够在代码中使用text('领京豆'),来获取这个控件了。

目前最新版的 AutoJS Pro 已是付费制了,37元永久免费,也但愿你们能支持做者,可是免费版的在网上依然能搜到,能够下载比较新的版本使用,基本上也能知足咱们不少需求。另外论坛已经中止更新了,可是咱们依然能够在上面搜索到一些脚本。

固然直接在 GitHub上就能够搜索到更多的脚本。

签到领京豆脚本已经上传到公号后台,请关注公众号,并回复:领京豆,获取源代码。

固然,也能够参考以前的这篇文章,直接利用 Tasker 天天定时去签到领取京豆。


这款黑科技,不会代码也能玩自动化,高效摸鱼



推荐阅读


自动化篇 - 黑客们使用的自动化方案,不少人还不知道

视频剪辑什么鬼?Python 带你高效创做短视频

聊聊微信自动化的几种方案




THANDKS
- End -

本文分享自微信公众号 - AirPython(AirPython)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索