AutoJS

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

特性:

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

悬浮窗录制和运行

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

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

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

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

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

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

带有界面分析工具,类似 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 悬浮窗的布局分析

选择布局分析

布局范围分析

点击领京豆

生成代码

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

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

目前最新版的 AutoJS Pro 已经是付费制了,37元永久免费,也希望大家能支持作者,但是免费版的在网上依然能搜到,可以下载比较新的版本使用,基本上也能满足我们很多需求。另外论坛已经停止更新了,但是我们依然可以在上面搜索到一些脚本。

当然直接在 GitHub上就可以搜索到更多的脚本。

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

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

python autojs_自动化篇 | 手把手教你使用 AutoJS 自动领京豆相关推荐

  1. autojs获取id_手把手教你使用AutoJS自动领京豆

    AutoJS 一个支持无障碍服务的Android平台上的JavaScript IDE.Autojs主要是基于安卓系统的无障碍服务,实现自动化操控和监控手机信息处理. 特性: 由无障碍服务实现的简单易用 ...

  2. Python学习教程:手把手教你搭建自己的量化分析数据库

    Python学习教程:手把手教你搭建自己的量化分析数据库 引言: 数据是金融量化分析的重要基础,包括股票历史交易数据.上市公司基本面数据.宏观和行业数据等.随着信息流量的日益膨胀,学会获取.查询和加工 ...

  3. python京东自动签到_Python 实现京东自动签到领京豆

    今天带大家进行模拟京东登录,并进行签到获取京豆,1000 个京豆 = 10 元,毕竟「苍蝇也是肉」,每天用脚本可以获取大概 n 个京豆,是不是一个发现了一个「发家致富」的好路子? 废话不多说,下面开始 ...

  4. Python 实现京东自动登录领京豆

    今天带大家进行模拟京东登录,并进行签到获取京豆,1000 个京豆 = 10 元,是不是一个发现了一个「发家致富」的好路子? 废话不多说,下面开始正题. 整体流程如下: 京东自动签到流程 1 模拟登录 ...

  5. python京东自动签到_京东星推官自动领取京豆python脚本和软件

    前两天发了个时光机的脚本,有吧友发来个领京豆的活动,今天空了顺带写了下 活动差不多每天0点开始,京豆有限,差不多几分钟的时间把,每天应该可以几百豆子,可以0点去试试 活动地址:https://pro. ...

  6. 如何用python开发游戏_手把手教你用Python完成一个控制台小游戏-阿里云开发者社区...

    很多人想学Python程序设计或者已经了解过一点Python程序设计基础,却没办法开发出一个项目. 今天,通过演示一个简单的控制台小游戏制作,手把手教你如何用Python编写一个游戏程序,即便你是个新 ...

  7. 利用python编写祝福_手把手|教你用Python换个姿势,送狗年祝福语

    春节既是一个阖家团圆的节日,也是一个集中问候亲朋好友.了解近况的机会.但是也有很多人过年也不能聚在一起,所以就会会选择发短信这一方式来表达自己的祝福.其中大多人都是复制转发,让人一眼就看穿,显得自己在 ...

  8. python画折线图-手把手教你Python yLab的绘制折线图的画法

    Python的可视化工具有很多,数不胜数,各有优劣.本文就对其中的pylab进行介绍.之所以介绍这一款,是因为它和Matlab的强烈相似度,如果你使用过Matlab,那么相信pylab你也会很快上手. ...

  9. 你知道豆瓣电影是怎么评分的吗?(实战篇—手把手教你分析豆瓣电影)

    点赞再看,养成好习惯 Python版本3.8.0,开发工具:Pycharm 写在前面的话: 如果你是因为看到标题进来的,那恭喜你,又多了一个涨(入)知(坑)识的机会. 在这篇豆瓣电影Top250的分析 ...

最新文章

  1. 【 MATLAB 】Matlab 帮助文档需要登录问题如何解决?
  2. 生活中的实验 —— 磁铁的使用
  3. VTK:图片之ImageHistogram
  4. 安卓Dialog对话框多次显示而闪退的解决办法
  5. 盒子模型,top和margin-top
  6. 21. PE结构-PE各个结构的基本概念
  7. Flutter 气泡背景效果 仿苹果桌面运动的气泡
  8. 获取SD卡上 未安装 APK文件信息
  9. diff和pacth
  10. 确定进制(经典水题)
  11. JDBC在jsp中的使用
  12. 计算机不能打印图片,win7系统电脑连接打印机可以打印文档不能打印图片的解决方法...
  13. Firefox,IE5,IE6,IE5.5等浏览器兼容性解决方法
  14. pe系统 服务器维护,FirPE 维护系统
  15. 【计算机网络】1、为什么要学习计算机网络基础
  16. 解决0xc000012f 损坏的映像rasman.dll没有被指定在windows运行问题
  17. linux sed 目录递归,shell递归遍历目录下的所有文件并统一改名的方法-文件更名...
  18. Hive窗口函数 row_number over()和sum() over()的使用详解
  19. 每天一个Java知识点(spring-计划任务)
  20. Mac根目录下无法创建文件或目录-报错 mount_apfs: volume could not be mounted: Operation not permitted mount: / fail

热门文章

  1. 外网服务器设置OpenAI代理
  2. NVIDIA编码器和解码器
  3. 华为Java面试真题解析,都是精髓!
  4. Facebook广告如何精准投放呢?Facebook广告投放方案
  5. 梅特卡夫定律:社交网络的滚雪球效应
  6. Moodle3.8计划任务配置详解
  7. elasticsearch ik分词实现 中文、拼音、同义词搜索
  8. 科技感满满 《复联3》灭霸原来是这样做出来的
  9. 计算机应用技术博士,全国新增所大学计算机应用技术博士点
  10. 还不会小程序开发?适用于新手、前端、后端、全栈的小程序开发保姆级教程!