工具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("没有账号了"); } } ```