最近再玩奇奇怪怪的脚本,发个帖做一下记录
本文主要讲述 auto.js (手机免root自动化脚本)的一些基础知识,以及一些简单的实例,该脚本需要有js基础
官网下载autojs直接安装在安卓手机上,或者 安装在模拟器
最新版的autojs pro 是要收费的
4.10 旧版本是免费的
安装好以后 安装 vscode autojs扩展插件
打开 cmd 窗口 输入ipconfig 查看电脑ip地址 具体可以查看官网
手机上 打开autoJsPro 进行连接电脑选择客户端连接 输入IP地址
连接成功 右下角有提示
vscode ctrl+shift+p 输入auto.js
创建 v8 或 v9 项目
在 main.js 输入
auto.waitFor() //开启无障碍
console.show() //打开控制台
console.log("Hello Auto.js")
点击右上角 图标 选择设备运行
查看 手机 看到 弹窗
Ok 配置成功
打开autojs pro 悬浮窗 点击绿色小图标 点击蓝色按钮查看控件信息
id("some_id").findOne() //id 选择控件 其内容是一个 UIObject findOne()表示找到一个控件
text(" some text").findOne() // 文本控件
id("some_id").Untilfind() //批量查找
操作
click() //点击
id("some_btn").findOne().click()
swipe(x1,x2,x3,x4,duration) //滑动屏幕 很好理解吧
id("some_text").findOne().setText("some text") //输入、设置文本
sleep(3000 ) //延时 单位毫秒
文件系统
var fileDir = "/sdcard/1.txt"
files.read(fileDir) //读取整个文件
files.write(fileDir) //写
//频繁读取时 使用文件流
var file = open(fileDir,"w","utf-8") //w 模式-写 utf-8编码
//一些操作
file.close()
arrayStr.foreach((str)=>{ //批量写入字符串
file.append(fileDir,str)
})
file.writeline(line) //line-str 写入文本和一个换行符
file.writelines(lines) //lines - arr<str> 写入许多行
读反过来
实例: 某钉 群成员ID 采集
function Dc(){
}
Dc.prototype.init = function(){
auto.waitFor()
setScreenMetrics(1080,1920) //设置分辨率 可自动适配
// console.show()
// console.log("开始运行")
}
Dc.prototype.copyList = function(){
var userNames = []
id("tv_name").untilFind().forEach((node)=>{
userNames.push(node.text().split("(")[1].split("-")[0])
})
// console.show()
// log(userNames)
var fileDir = "/sdcard/users/dingding1.txt"
var isFile = files.exists(fileDir)
if(isFile){
//如果存在 直接写入
//var file = open(fileDir,"w","utf-8")
userNames.forEach((name)=>{
files.append(fileDir,name+"\n")
})
//file.close()
sleep(500)
swipe(500, 1800,500, 100,random(1000,2000))
}else{
//创建一个文件夹存放 用户
files.createWithDirs(fileDir)
}
//sleep(3000)
//swipe(200,1900,200,100,random(1000,2000))
}
const dc = new Dc()
dc.init()
setInterval(() => {
dc.copyList()
}, 2000);