Auto.js脚本编写教程 (一)

article/2025/9/24 11:34:13

一、工具下载安装

手机端:auto.js(百度即可)
PC端:  VS Code     JDK      SDK Tools(定位工具: Uiautomatorviewer


VS Code 用于代码编写 Uiautomatorviewer用于元素定位,也就是APP的界面分析

下载地址:
VS code:https://code.visualstudio.com/

JDK网盘64位下载地址: https://pan.baidu.com/s/1dfhaoMVQLDqSOAj45aP4Lg

SDK下载(Android集成开发环境)链接:https://pan.baidu.com/s/1zYTq5Zv2yFjDyI8XyKoMUw 提取码:zovb

(JDK安装配置教程:https://blog.csdn.net/qq_41742494/article/details/99709605)

SDK环境配置步骤:此电脑右键–>属性–>高级系统设置–>环境变量–>找到"Path"编辑–>新建–>浏览(找到Android集成开发环境的解压路径,定位到sdk目录级。如:E:\免安装软件\adt-bundle-windows-x86_64-20131030\adt-bundle-windows-x86_64-20131030\sdk)–>一路确定出来–>Dos命令行输入adb–>不提示adb不是内部命令就成功了

二、ADB及Uiautomatorviewer使用

1. 通过USB数据线将手机连接到电脑
2. 打开adb.exe       sdk安装目录 \ platform-tools \ adb.exe       输入命令(查看手机连接状态):

            adb devices

3. 运行uiautomatorviewer.bat       sdk安装目录 \ tools \ bin \ uiautomatorviewer.bat
uiautomatorviewer介绍
4. uiautomatorviewer不能截取手机屏幕解决办法
(1)在电脑桌面创建两个文本文档并更改后缀名app.uix      app.png
(2)在电脑桌面文本文档并更改后缀名为 bat   右键编辑 > 输入以下内容 > 保存

	@echo off>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"if '%errorlevel%' NEQ '0' (echo 请求管理员权限...goto UACPrompt) else ( goto gotAdmin ):UACPromptecho Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs""%temp%\getadmin.vbs"exit /B:gotAdmin@echo onadb shell uiautomator dump /sdcard/app.uixadb pull /sdcard/app.uix  C:/Users/hjfdzd/Desktop/app.uixadb shell screencap -p /sdcard/app.pngadb pull /sdcard/app.png C:/Users/hjfdzd/Desktop/app.png

5. 打开uiautomatorviewer点击打开    app.uix      app.png       即可分析app界面

三、PC端代码编写

1. PC端打开VS Code 点击EXTENSIONS 搜索Auto.js点击安装
在这里插入图片描述
2. 开启Autojs服务 Ctrl + Shift + P > Autojs start server
3. 手机端打开Autojs开启无障碍服务,点击连接电脑输入电脑IP进行连接
在这里插入图片描述

四、控件分析及代码编写

1.分析界面如下
在这里插入图片描述在这里插入图片描述

2.找出视频红包对应右上角的  2 ,并点击视频红包进行金币的赚取
等待视频看结束点击关闭按钮,返回界面
在这里插入图片描述
在这里插入图片描述
3.代码如下:

/*** 定义控件btn,父控件btnParent, 关闭控件btnClose* 区域左上角顶点 boundLeft,boundTop 区域右下角顶点 boundRight,boundBottom* 手机适配比: 屏宽比 wRatio  屏高比  hRatio* 计数变量 count* 视频可点击总次数 total(需查找的控件  2 )* 最终点击坐标点 pointX,pointY*/var btn,btnParent,btnClose,boundLeft,boundTop,boundRight,boundBottom,wRatio,hRatio,count,total,pointX,pointY,flag;//屏幕比用2280X1080的屏幕适配其他
wRatio = device.width / 1080;
hRatio = device.height / 2280;/*** 通过uiautomatorviewer分析获得 2 所在控件 bounds=[219,1194][270,1245]* 其中:*      boundLeft = 219*      boundTop = 1194*      boundRight = 270*      boundBottom = 1245* 适配其他机型 只需横坐标乘以 wRatio  纵坐标乘以 hRatio*/
boundLeft = 219 * wRatio;
boundTop = 1194 * hRatio;
boundRight = 270 * wRatio;
boundBottom = 1245 * hRatio;/*** UiSelector.boundsInside(left, top, right, buttom)* 在bound区域内查找控件* 在bound区域内查找className("android.view.View") 即 2 所在控件*/btn = className("android.view.View").boundsInside(boundLeft,boundTop,boundRight,boundBottom).findOne(500);
//如果btn不为空
if(btn){flag = true;while (flag) {//获取文本控件  即 2total = btn.text();if (total!=null) {//寻找父控件btnParent = btn.parent().parent().parent();//找到父控件的区域boundLeft = btnParent.bounds().left;boundTop = btnParent.bounds().top;boundRight = btnParent.bounds().right;boundBottom = btnParent.bounds().bottom;//随机点击坐标pointX = Math.random()*(boundRight-boundLeft)+boundLeft;pointY = Math.random()*(boundBottom-boundTop)+boundTop;//点击click(pointX,pointY);console.log(pointX+","+pointY);//等待1ssleep(1000);//等待视频观看完毕while (flag) {//查找关闭按钮btnClose = id("com.xiangzi.jukandian:id/tt_video_ad_close_layout").findOne(500);if (btnClose) {//点击关闭btnClose.click();sleep(1000);//标识符置为false跳出循环flag = false;}//查找关闭按钮btnClose = className("android.widget.TextView").text("关闭广告").findOne(500);if (btnClose) {//点击关闭btnClose.click();sleep(1000);//标识符置为false跳出循环flag = false;}//查找关闭按钮btnClose = id("jump_tv").text("跳过").findOne(500);if (btnClose) {//点击关闭btnClose.click();sleep(1000);//标识符置为false跳出循环flag = false;}}flag = true;}else{flag = false; }}
}

五、总结

1.电脑编码容易便捷
2.uiautomatorviewer界面分析清晰,可轻易找到控件
3.uiautomatorviewer还有好多控件属性尚未列出,可结合autojs悬浮窗进行界面分析
注:
      若有帮助,请关注本号,持续分享


http://chatgpt.dhexx.cn/article/52NBViKf.shtml

相关文章

好用的 JS 脚本

文章目录 🚜3D 可视化🚚ThingJS💡特点💡案例 🚜拖拽库🚚SortableJS💡特点💡案例 🚜3D 可视化 🚚ThingJS 物联网 3D 可视化 PaaS 平台 官网:https…

JavaScript 【基础】 浏览器执行脚本

步骤 一: 在浏览器指定界面按下F12二:找到输入代码的地方三:输入js代码 平时我们做开发的,或者想使用一些外挂,脚本来实现界面的一些更改之类的操作,可以直接在浏览器上面进行。 一: 在浏览器指…

各种JS脚本该怎么使用呢?以城城为例,教程在这里自行食用。

1、首先先下载XXX.js结尾的 链接:https://pan.baidu.com/s/17sXHe_l7eHsUgeHtYRmkHg 提取码:jdck 2、然后用FinalShell工具连接搭建青龙的服务器,把文件上传到青龙面板的这个路径内 每个人搭建的方式不一样我的是这个路径 /root/QL/scripts…

运行JS脚本的几种方式

如何运行JS脚本 直接运行 下载nodejs, 使用node *.js即可执行,方便快捷 如果*.js文件中有引入的第三方模块,需要先下载第三方模块 注意要使用require导入而不是import, import是ES6语法, 较新, 可能会导致js无法运行 初始化pac…

如何在浏览器中执行js脚本

方式1:F12打开调试工具,利用控制台运行JS脚本 方式2: Chrome snippets 小脚本 我们也可以在 Chrome 浏览器中创建一个脚本来执行,在开发者工具中点击 Sources 面板,选择 Snippets 选项卡,在导航器中右击鼠标&#xff…

JavaScript 脚本

一、JavaScript 脚本 Bootstrap 包括一些 JavaScript 帮助用户做出更加充满生机、活动的项目。欢迎学习更多关于如何去调用动态事件、灵活展示的数据和编程性的API选项等。 二、单个引用或者编译 插件可以单独包含(使用Bootstrap的单独js/dist/*.js)&…

JavaScript脚本基础教程

1、JavaScript简单介绍 Javascript(简称js) 语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行 JavaScript 代码。 JS 是 Netscape 网景公司的产品,最早取名为 LiveScript;为了吸引更多 java 程序…

SAP PP模块后台表关系图

生产主数据关系图 生产业务数据后台数据关系图 更多文章请点击 写于:深圳大鹏 20230717

PaddleClas套件——PP-ShiTuV2模型详解

1. PP-ShiTuV2模型介绍 PP-ShiTuV2 是基于 PP-ShiTuV1 改进的一个实用轻量级通用图像识别系统,由主体检测、特征提取、向量检索三个模块构成,相比 PP-ShiTuV1 具有更高的识别精度、更强的泛化能力以及相近的推理速度*。主要针对训练数据集、特征提取两个…

SAP-PP知识分享-PP常用表积累

原文链接:SAP-PP知识分享-PP常用表积累(建议收藏,以后好找)导读 本篇给大家简单总结一下PP中常见、常用的表集合。 正文 1.需求相关RESB---预定/相关需求MDKhttps://mp.weixin.qq.com/s/s7SlfOOFf5QjK_oZalaujw 大家可以关注我个人…

PP-LCNet论文全文解析

PP-LCNet: A Lightweight CPU Convolutional Neural Network 🔗 PDF Link 🍺 Github Code Section 1 介绍 随着模型参数和FLOPs的加大,模型越来越难以在基于ARM架构的移动端设备或者x86架构的CPU上取得较快的推理速度。虽然有许多优秀的移动…

PP-YOLO论文阅读笔记

PP-YOLO: An effective and efficient implementation of object detector 期刊: arXiv preprint年份:2020 主要内容列举: ① :实现一个有效性和效率相对平衡的对象检测器,可以直接应用于实际应用场景; ② ②:添加了一系列几乎不会增加推断时间的技巧,以…

【paddle】PP飞桨

PP飞桨AI Studio 项目:https://aistudio.baidu.com/aistudio/projectoverview/public 数据集:https://aistudio.baidu.com/aistudio/datasetoverview 课程:https://aistudio.baidu.com/aistudio/course 比赛:https://aistudio.ba…

PP-ShiTu: A Practical Lightweight Image Recognition System

最近看了一个新的分享,关于图像识别的,对于大规模图像搜索以及新物品频繁情况下表现良好。 论文: https://arxiv.org/abs/2111.00775项目: https://github.com/PaddlePaddle/PaddleClas Abstract 近年来,图像识别的…

SAP_PP模块流程

1、SAP_PP模块介绍 PP模块涉及到工程部、财务部、PC、MC、生产部这些业务部门;主要大块在于PMC和生产;是整个SAP的源头所在; 2、整体业务逻辑 工程部:维护物料主数据、收集业务视图、维护BOM、工艺路线、生产版本,这些数据维护…

PP模块学习总结

PP模块总览 生产业务主要包含三部分: 主数据管理(有效 、准确,用来确保查询速度)生产计划安排(满足销售、降低库存)生产制造执行 PP模块数据 定义:是企业运行基本数据,描述业务流…

PP-OCR

论文: PP-OCR: A Practical Ultra Lightweight OCR System Github:https://github.com/PaddlePaddle/PaddleOCR 百度开源的ocr检测识别系统,称为PP-OCR。PP-OCR的中文字符识别模型仅3.5M,支持识别6622个中文字符。英文字符识别模…

pp助手可以刷机吗android,如何使用PP助手进行刷机?

PP助手官方版是当前最适合的苹果助手,iPhone/iTouch/iPad通通完美支持,个性铃声自制,一键越狱插件安装、资料备份、SHSH管理等通通都具备,PP助手官方版汇集了很多大型热门游戏软件,统统一键即可简单下载!今天在这里小编…