Autojs详解

news2024/11/20 4:33:24

目录

一,AutoJs概述

二,环境搭建

三,js语法

四,基于控件的操作

1,吐司

2,点击

 3,长按

 4,设置文本

 5,UiSelector

 6,UiObject

7,控件集合的操作方法


一,AutoJs概述

什么是Auto.js?相信能看到这篇文章的人应该都知道AutoJs是干嘛的了。

它是不需要root权限的JS自动化软件。

基于无障碍接口。

主要用来开发app脚本。

二,环境搭建

首先电脑需要安装VSCode,用来编写js脚本

其次手机需要安装autoJs的apk,我用的是4.11版本的,这个是免费版本,且不限制wx,dy等主流app

最后需要安装一个打包软件,用来打包成apk

vscode插件的安装:

搜索Auto.js 安装上图的插件即可

整体环境搭建就是这些,需要apk以及具体搭建细节不了解的小白可以私信我。

三,js语法

需要掌握JavaScript编程语言,这里省略。。。

四,基于控件的操作

1,吐司

这个非常简单

toast("袁震")

2,点击

比如说我们要点击微信里面的微信团队

编写脚本:

toast("袁震")
//一直循环 直到点击了微信团队
while(!click("微信团队"));

运行效果:

 3,长按

下面实现一个取消关注的操作:

toast("袁震")
while(!click("微信"));
sleep(1000)
longClick("微信游戏")
sleep(1000)
click("不再关注")

 4,设置文本

比如要在聊天框里设置一个helloworld:

toast("袁震")
while(!click("微信"));
sleep(1000)
click("袁震")
sleep(1000)
setText("helloworld")

 5,UiSelector

UiSelector即选择器,用于通过各种条件选取屏幕上的控件,再对这些控件进行点击、长按等动作。控件有各种属性,包括文本(text), 描述(desc), 类名(className), id等等。我们通常用一个控件的属性来找到这个控件。

toast("袁震")
while(!click("微信"));
sleep(1000);
//使用搜索图标的id 查找控件并点击
id("jha").findOne().click();

 6,UiObject

UiObject表示一个控件,可以通过这个对象获取到控件的属性,也可以对控件进行点击、长按等操作。

获取一个UiObject通常通过选择器的findOne()findOnce()等函数,也可以通过UiCollection来获取,或者通过UiObject.child()UiObject.parent()等函数来获取一个控件的子控件或父控件。

每个具体方法可以参考官方api

7,控件集合的操作方法

例如我要依次点击微信通讯录的朋友:

toast("袁震")
while(!click("微信"));
sleep(1000);
click("通讯录");
sleep(1000);
id("kbq").className("android.widget.TextView").depth(22).find().forEach(element => {
        if(element.text()!="微信团队"){
            click(element.text())
            sleep(3000)
            id("com.tencent.mm:id/actionbar_up_indicator").depth(9).findOne().click()
            sleep(1500)
        }
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2065490.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

服务器五大关键组件拆解分析

拆解服务器五大关键组件 "AI服务器五大硬件揭秘:深入剖析PCB构造,揭示内部真实面貌。本文通过一步步拆解PCB,为读者呈现了一台服务器的内部世界,力求让您对服务器升级的潜在价值有更深的理解和把握。" 1、五大硬件部分可归纳为——…

VS Code 远程连接SSH服务

随着技术的不断迭代更新,在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器(我曾经也是个 vimer,但是 VS Code 实在太香了),已经很难适应当下的开发效率。因此大多数开发者开始使用 VS Code 远程连接 Linux 系…

提交试卷+智能生成评价

文章目录 1.提交试卷1.req和vo1.InterviewSubmitReq.java2.InterviewResultVO.java 2.InterviewController.java3.service1.InterviewHistoryService.java2.InterviewHistoryServiceImpl.java3.InterviewEngine.java4.JiChiInterviewEngine.java5.EvaluateUtils.java 4.测试 2.…

【前端基础篇】CSS基础速通万字介绍(下篇)

文章目录 前言背景属性背景颜色背景图片背景平铺背景位置背景尺寸 圆角矩形生成圆形生成圆角矩形 Chrome调试工具打开方式标签页含义elements标签页使用 元素显示模式块级元素行内元素/内联元素行内元素和块级元素的区别 盒模型边框内边距外边距 块级元素水平居中去除浏览器默认…

凤凰花:绚烂花语与独特魅力

一、凤凰花的花语内涵 凤凰花的花语丰富而深刻,蕴含着多种情感和意义。 思念,是凤凰花常见的花语之一。它那鲜艳的花朵绽放在枝头,远眺着远方,仿佛在传递着对朋友和亲人深深的牵挂与想念。这种思念,如同苦涩的咖啡&am…

Cesium 视频纹理

Cesium 视频纹理 话不多说&#xff0c;直接上代码 <video id"video_dom"><source src"./video.mp4" type"video/mp4" /></video>var videoElement document.getElementById("video_dom");videoElement.play();vie…

数据处理新纪元:2024热门PDF转Excel工具集

当PDF文件中的数据需要被进一步分析、编辑或应用于电子表格中时&#xff0c;将其转换为Excel格式便成为了一项不可或缺的任务。本文将为你盘点几款当前最为热门的pdf转换成excel的工具&#xff0c;帮助你轻松实现数据格式的转换&#xff0c;提升工作效率。 1.福昕PDF转换大师 …

MySQL基础:事务

&#x1f48e;所属专栏&#xff1a;MySQL &#x1f48e;1. 事务 事务是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;这些操作要么同时成功&#xff0c;要么同时失败 例如转账…

【目标检测】模型评估指标

目标检测模型评价指标&#xff1a;准确度(accuracy)、精确率&#xff08;precision)、召回率&#xff08;recall&#xff09;、交正比&#xff08;IoU&#xff09;、F1 Score等 1、目标检测模型评价指标 在 目标检测 任务中&#xff0c;常用的性能指标主要包括 检测精度指标 和…

Linux下opencv报错 undefined reference to cv::imread cv::Mat

如果你是和libtorch一起使用&#xff0c;那么请你继续&#xff0c;否则该篇文章不适合你。 正文 在https://pytorch.org/下 下载的时候要选择Cxx11 ABI版 随后正常配置就可以了

Leetcode JAVA刷刷站(79)单词搜索

一、题目概述 二、思路方向 为了解决这个问题&#xff0c;我们可以使用深度优先搜索&#xff08;DFS&#xff09;或广度优先搜索&#xff08;BFS&#xff09;来遍历网格中的字符&#xff0c;并检查是否能形成给定的单词。这里&#xff0c;我提供一个基于DFS的解决方案。 在DFS中…

拆解简单的两种固定很简陋的无刷风扇,改造自己小风扇

两种风扇功能 一种是用于电脑主机降温的&#xff0c;另一种是挂脖风扇的一个&#xff0c;拆开之后才知道固定底座很简陋 拆解降温风扇 最后分离定子和支架 个人还是不喜欢暴力拆解的&#xff0c;但尝试后发现&#xff0c;这个不暴力拆不掉&#xff0c;固定的塑料和上面定子…

python实现链表

什么是链表 链表是由一系列节点组成的元素集合。每个节点包含两部分&#xff0c;数据域item和指向下一个节点的指针next。通过节点之间的相互连接最终串联成一个链表。 python实现一个简单链表 我们可以用python实现一个超级简单的链表 class node:# 初始化数据def __init_…

Golang | Leetcode Golang题解之第367题有效的完全平方数

题目&#xff1a; 题解&#xff1a; func isPerfectSquare(num int) bool {x0 : float64(num)for {x1 : (x0 float64(num)/x0) / 2if x0-x1 < 1e-6 {x : int(x0)return x*x num}x0 x1} }

正则表达式备查

一、常用 符号内容\将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如&#xff0c;“n”匹配字符“n”。“\n”匹配换行符。序列“\”匹配“\”&#xff0c;“(”匹配“(”。^匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性&#xff0c;^ 还…

Dumpy:一款针对LSASS数据的动态内存取证工具

关于Dumpy Dumpy是一款针对LSASS数据的动态内存取证工具&#xff0c;该工具专为红队和蓝队研究人员设计&#xff0c;支持重新使用打开的句柄来动态转储 LSASS。 运行机制 Dumpy可以动态调用 MiniDumpWriteDump 来转储 lsass 内存内容。此过程无需打开 lsass 的新进程句柄&…

海山数据库(He3DB)+AI:(一)神经网络基础

文章目录 1 引言2 基本结构2.1 神经元2.2 模型结构 3 训练过程3.1 损失函数3.2 反向传播3.3 基于梯度的优化算法 4 总结 1 引言 神经网络可以被视为一个万能的拟合器&#xff0c;通过深层的隐藏层实现输入数据到输出结果的映射。神经网络的思想源于对大脑的模拟&#xff0c;在…

【源码+文档+调试讲解】病房管理系统设计与实现

摘 要 当下&#xff0c;如果还依然使用纸质文档来记录并且管理相关信息&#xff0c;可能会出现很多问题&#xff0c;比如原始文件的丢失&#xff0c;因为采用纸质文档&#xff0c;很容易受潮或者怕火&#xff0c;不容易备份&#xff0c;需要花费大量的人员和资金来管理用纸质文…

springboot集成海康sdk,针对视频流获取某一点的实时温度

直接上代码吧: 前端页面专递点的x和y的坐标及其设备的ip @RequestMapping(value = "/getRealTemperatureByPoint") public float getRealTemperatureByPoint(HttpServletRequest request) {Map<String, Object> params = ParamUtil.getParams(request);Strin…

vue elementPlus中使用dayjs

安装了elementPlus后无需再次下载dayjs,因为element 中包含了dayjs 官网截图 引入方法&#xff1a; import { dayjs } from element-plus// 引入中文包 import dayjs/locale/zh-cn dayjs.locale(zh-cn) // 设置中文 使用方法和dayjs 官网一致 const state reactive({week…