将淘宝打开至喵铺主页,返回 Auto.js,点击运行即可执行脚本,在日志处可以查看脚本运行日志,我还没提到日志?在脚本中你可以使用 log() 函数记录日志,这等同于 print,常用于调试或记录日志信息。

关键字:类似 autojs 、autojs 综合实战 比 autojs 更强大、更简单的一站式辅助解决方案「Android智能辅助平台」: 开维控制精灵Ctrl.js ( 类似auto.js的脚本开发平台 ):

app: 应用。启动应用,卸载应用,使用应用查看、编辑文件、访问网页,发送应用间广播等。 console: 控制台。记录运行的日志、错误、信息等。 device: 设备。获取设备屏幕宽高、系统版本等信息,控制设备音量、亮度等。 engines: 脚本引擎。用于启动其他脚本。 events: 事件与监听。按键监听,通知监听,触摸监听等。 floaty: 悬浮窗。用于显示自定义的悬浮窗。 files: 文件系统。文件创建、获取信息、读写。 http: HTTP。发送HTTP请求,例如GET, POST等。 images, colors: 图片和图色处理。截图,剪切图片,找图找色,读取保存图片等。 keys: 按键模拟。比如音量键、Home键模拟等。 shell: Shell命令。 threads: 多线程支持。 ui: UI界面。用于显示自定义的UI界面,和用户交互。

本次淘宝的活动最开始滑动一次,之后等着时间够了即可,故代码中没有再额外滑动。在浏览广告完毕后back()模拟返回键返回值任务栏页 面。

这段代码定位组件用到了desc(),之所于用desc是因为该控件的desc信息是任务完成,还记得如何查看控件信息吧?总之,想定位控 件,就先去查它的控件信息。

2. launchApp()可以打开对应应用,由于不同手机响应速度不同,本代码让它睡眠3s。

3. 定位组件是autojs的最常见的操作,这很类似前端的定位dom元素。在任何点击之前都需要找到对应的组件,这不同于点击某像素位 置,点击组件更能适配不同分辨率的手机。在auto.js中通过各种条件选取到的控件称为 ( )。那么筛选条件是如何确定呢?打开 Auto.js应用的悬浮窗,在喵铺主页,点击Auto.js悬浮窗后选择出现的蓝色按钮,点击布局范围分析后选择领喵币按钮查看控件信 息,你就能看到如图2所示的信息。

viewWeb 是一会要写的函数,目的是模拟浏览网页20s的操作,虽说淘宝要求15s就行了,但是可能部分手机加载耗时比较多,所以多写 了5s。当判断任务栏有去进店、去浏览的组件时,点击跳转至浏览广告,浏览完毕后,返回至任务栏页面,循环执行该操作直到找不 到去进店、去浏览的组件结束(任务完成后按钮文字会变成已完成)。

由无障碍服务实现的简单易用的自动操作函数 悬浮窗录制和运行 更专业&强大的选择器 API,提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于 Google 的 UI 测试框架 UiAutomator, 您也可以把他当做移动版UI测试框架使用 采用 JavaScript 为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一个 JavaScript IDE 使用 支持使用 e4x 编写界面,并可以将 JavaScript 打包为 apk 文件,您可以用它来开发小工具应用 支持使用 Root 权限以提供更强大的屏幕点击、滑动、录制功能和运行 shell 命令。录制录制可产生js文件或二进制文件,录制动作的 回放比较流畅 提供截取屏幕、保存截图、图片找色、找图等函数 可作为 Tasker 插件使用,结合 Tasker 可胜任日常工作流 带有界面分析工具,类似 Android Studio 的 LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息

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

免费版已更新至 4.1.1 并且不再更新,在网上搜索 autojs.apk 下载安装即可。Auto.js 因某种原因全网下架(黑灰产) 。可以从 github 上 下载源码编译安装。 github 地址:

最新版已经开始收费,下载地址: 手机安装 Auto.js 应用 开启手机无障碍服务,目的是为了让脚本能执行。 开启悬浮框(为了查看控件信息) 电脑上有代码编辑器,vscode最佳(Auto.js作者提供了vscode的插件便于调试)

<exinparent(1).findonce();< p=””></exinparent(1).findonce();<>

2. 定位选择器:findOnce() 表示找到第一个满足条件的控件,找不到返回null;另外还有findOne(),findOne(time)等方法,具体的可以 看。这里有一个坑,findOne()如果没找到匹配的组件会一直找,直至所描述的控件出现为止,故该函数不会返回null,找不到可能会卡在 这里,所以谨慎使用。 3. click():当定位的元素的clickable属性为true时,才可以点击,如果你查看某控件的clickable为false,那说明此控件不能点!!你可能 是想点击它的子/父控件。 源码参考 ,切换 tag 至 v1.0.0

布局layout则是装着一个或多个控件的容器用于控制在他里面的控件的位置比如垂直布局vertical会把他里面的控件从上往下依次显示即纵向排列水平布局horizontal则会把他里面的控件从左往右依次显示即横向排列以及帧布局frame他会把他里面的控件直接在左上角显示如果有多个控件后面的控件会重叠在前面的控件上

接下来需要写脚本了,可以 在vscode上写脚本,写好后发给手机,在Auto.js应用中加载运行 在vscode上写脚本,电脑与手机在同一局域网,通过安装auto.js的 ( ),实现在vscode上运行,手机就会相应执行脚本 在手机的 Auto.js 应用中直接码代码(不提倡)

1. Auto.js无需root,但是需要对该应用开启无障碍模式,开启后才可以进行屏幕点击等操作auto.waitFor()表示直到检查该应用开启无 障碍后才执行其后面的代码,否则一直卡在这里,一般放到脚本的第一行

4.1.1 版本:免费版的最后一个版本,可以在所有 app 上进行操作 7.0. 版本:收费版,已经停售, 8.0 pro 版本:屏蔽掉一些大平台,例如:微信、支付宝、抖音 等。。。 三个版本功能区别不大, 主要在一些打包细节,功能函数的优化,bug修复等有些区别,其他没啥区。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注