工具1
### 微信随机话术
```
let写入 = files.read("/sdcard/脚本/测试.txt")
let 话术 = (写入.split("\n"))
let 随机 = (random(0, 话术.length - 1))
setText(话术[随机])
sleep(1000)
click("发送")
```
### 寻找滑动
#### 查找滑动深度如下
```
let node=scrollable(true).find()
log(node.length)
for(let i=0;i<node.length;i++){
log(node[i].bounds())
log(node[i].depth())
}
```
```
let 滑动 = scrollable(true).depth(19).findOnce()
if (滑动) {
log(滑动.scrollForward())
}
```
```
let x = device.width
let y = device.height
swipe(x * 0.5, y * 0.8, x * 0.6, y * 0.2, 310)
```
### 刷屏
```
while(true){
className("EditText").findOne().setText("中午吃啥...");
let 发送=id("com.tencent.mm:id/b8k").findOnce()
if(发送){
log("发送成功")
发送.click()
sleep(2000)
}
}
```
### 剪切图片封装函数--clip
```
if (!requestScreenCapture()) {
toast("请求截图失败");
exit();
}
let 路径 = "/sdcard/图片测试文件夹/剪切的.png"
调用(390, 604, 443, 661, 路径)
function 调用(x1, y1, x2, y2, 路径) {
let 截图 = images.captureScreen()
let 图片 = images.clip(截图, x1, y1, x2 - x1, y2 - y1)
图片.saveTo(路径)
图片.recycle()
}
```
### 抖音取性别
```
if (申请截图权限()) {
主函数()
} else {
log("申请截图权限失败")
}
function 主函数() {
while (true) {
if (打开抖音()) {//阻塞
if (在抖音首页()) {
进入主页并提取信息()
} else {
log("没有在抖音首页,清理后台")
// 清理后台
}
}
}
}
function 进入主页并提取信息() {
let 主页入口 = id("com.ss.android.ugc.aweme:id/title").visibleToUser(true).findOne(5000) || id("com.ss.android.ugc.aweme:id/vr0").visibleToUser(true).findOnce()
if (主页入口) {
log("成功进入主页")
主页入口.click()
sleep(1000)
进入主页判断()
信息录入()
识别性别()
} else {
log("进入主页失败")
}
back()
sleep(1000)
let 滑动 = scrollable(true).depth(19).findOnce()
if (滑动) {
log(滑动.scrollForward())
} else {
log("滑动失败")
}
}
function 在抖音首页() {
if (text("首页").visibleToUser(true).findOne(8000)) {
return true
} else {
return false
}
}
function 申请截图权限() {
launchApp('Auto.js')
// sleep(3000)
if (!text("社区").visibleToUser().findOne(10000)) {
log("没打开autojs")
return false
}
log("开始申请截图权限")//只需要执行一次
//需要注意:申请截图权限在安卓10以上需要在脚本界面或者autojs界面执行这个命令
if (!requestScreenCapture()) {
log("权限申请失败")
return false
}
sleep(1000)
return true
}
function 打开抖音() {
while (true) {
for (let i = 0; i < 5; i++) {
if (packageName("com.ss.android.ugc.aweme").exists()) {
return true
} else {
log("打开抖音中...")
launchApp('抖音')//在安卓10以上 可能不生效
sleep(3000)
}
}
//清理后台
// log("清理后台")
}
}
function 进入主页判断() {
for (let i = 0; i < 10; i++) {
let 昵称节点 = id("com.ss.android.ugc.aweme:id/q6m").visibleToUser(true).findOne(5000) || id("com.ss.android.ugc.aweme:id/ofy").visibleToUser(true).findOnce()
if (昵称节点) {
log("当前在主页界面")
return 昵称节点.getText()
} else if (id("com.ss.android.ugc.aweme:id/qjm").visibleToUser(true).findOnce()) {
log("关闭广告栏")
back()
}
sleep(1000)
}
}
function 信息录入() {
let 昵称 = id("com.ss.android.ugc.aweme:id/nsc").findOne(3000);
let 取出抖音昵称 = 昵称.getText().toString();
let 抖音号 = id("com.ss.android.ugc.aweme:id/w9h").findOne(5000) || id("com.ss.android.ugc.aweme:id/w0q").findOnce()
let 取出抖音号 = 抖音号.getText().toString();
let 粉丝 = id("com.ss.android.ugc.aweme:id/w8s").findOne(3000);
let 取出粉丝数量 = 粉丝.getText().toString();
let 写入文本 = ("抖音昵称是:" + 取出抖音昵称 + "----" + 取出抖音号 + "----" + "粉丝是:" + 取出粉丝数量 + "个" + "----")
if (写入文本) {
files.append("/sdcard/抖音文件夹/抖音信息.txt", 写入文本)
log("录入信息成功")
sleep(1000)
} else {
log("录入信息失败")
}
}
function 识别性别() {
sleep(1000)
let 性别父节点 = id("com.ss.android.ugc.aweme:id/q6m").visibleToUser(true).findOnce()
if (性别父节点) {
log("找到父节点")
if (性别父节点.findOne(text("男"))) {
log("这是男的")
let text11 = "性别:男"
files.append("/sdcard/抖音文件夹/抖音信息.txt", text11 + "\n");
} else if (性别父节点.findOne(text("女"))) {
log("这是女的")
let text11 = "性别:女"
files.append("/sdcard/抖音文件夹/抖音信息.txt", text11 + "\n");
} else {
if (textContains("查看门店").id("com.ss.android.ugc.aweme:id/q6m").visibleToUser(true).findOnce() || textContains("联系我们").visibleToUser(true).findOnce() || textContains("营业时间").visibleToUser(true).findOnce()) {
log("这是官方蓝V号,过滤成功")
let text11 = "官方号未知性别"
files.append("/sdcard/抖音文件夹/抖音信息.txt", text11 + "\n");
} else {
log("没有找的需要过滤的节点,继续执行下一步")
log("节点男女没找到,开始进行图色识别")
let 截图 = captureScreen()
log("截图完成,开始识别颜色")
let 父节点区域 = 性别父节点.bounds()
log("父节点区域", 父节点区域)
let 找红色_坐标 = images.findColorInRegion(截图, "#F05AAB", 父节点区域.left, 父节点区域.top, 父节点区域.width(), 父节点区域.height(), 25)
if (找红色_坐标) {
log("这个性别是女" + 找红色_坐标)
let text11 = "性别:女"
files.append("/sdcard/抖音文件夹/抖音信息.txt", text11 + "\n");
} else {
log("不是女 继续识别是否是男")
let 找蓝色_坐标 = images.findColorInRegion(截图, "#2993F1", 父节点区域.left, 父节点区域.top, 父节点区域.width(), 父节点区域.height(), 25)
if (找蓝色_坐标) {
log("这个性别是男" + 找蓝色_坐标)
let text11 = "性别:男"
files.append("/sdcard/抖音文件夹/抖音信息.txt", text11 + "\n");
} else {
log("未知性别.")
let text11 = "未知性别"
files.append("/sdcard/抖音文件夹/抖音信息.txt", text11 + "\n");
}
}
if (截图) {
截图.recycle();
}
}
}
} else {
log("没找到父节点,未知性别>")
let text11 = "未知性别"
files.append("/sdcard/抖音文件夹/抖音信息.txt", text11 + "\n");
// back()
// sleep(1000)
}
}
```
### 定时器自动解锁手机
```
let 定时 = setTimeout(function () {
自动();
}, 2000);
if (定时) {
function 自动() {
if (!device.isScreenOn()) {
device.wakeUp();
sleep(500);
swipe(500, 2000, 500, 1000, 210);
sleep(500);
let 输入 = "2021"; //口令密码
for (let i = 0; i < 输入.length; i++) {
let 范围 = text(输入[i].toString()).findOne().bounds();
click(范围.centerX(), 范围.centerY());
sleep(100);
}
}
}
} else {
log("没有找到解锁的手机")
}
```
### 获取时间戳的三种方法
```
var time1 = Date.parse(new Date())
log(time1)
var time2 = new Date().valueOf()
log(time2)
var time3 = new Date().getTime()
log(time3)
```
### 捕捉异常
```
try {
// 可能会发生异常的代码块
} catch (error) {
// 发生异常时执行的代码块
exit();
}
```
### 中心点击
```
click(中心点击.bounds().centerX(), 中心点击.bounds().centerY());
```
### 强刷界面
```
sleep(1000)
auto.service.serviceInfo = auto.service.serviceInfo
sleep(500)
```
### 获取剪切板
```
function 获取剪切板() {
var d = dialogs.build({
title: "获取剪切板中...",
progress: {
max: -1
},
cancelable: false
}).show();
for (let i = 0; i < 5; i++) {
let clipStr = getClip();
if (clipStr) {
d.dismiss();
return clipStr;
}
sleep(200);
}
d.dismiss();
}
```
### qq跳转加人界面
```
// 联系作者("104810314")
function 联系作者(byqq) {
if (byqq) {
try {
app.startActivity({
action: "android.intent.action.VIEW",
data: "mqqapi://card/show_pslcard?src_type=internal&version=1&uin=" + byqq,
packageName: "com.tencent.mobileqq",
});
} catch (e) {
toast("请安装或解冻QQ");
}
} else {
toast("没有账号了");
}
}
```