什么是Auto.JS?
Auto.JS是Android平台上的JavaScript自动化工具。
它的本质是可执行自己编写的简易Javascript脚本的,尤其可以在开启“无障碍模式”的情况下对其他App进行一些操作的一个Android App,便于进行自动化操作。学习成本非常低。
Auto.JS已被黑产广泛使用,以至于作者关闭了官方下载通道。
官网:https://github.com/hyb1996/Auto.js
下面通过代码给大家介绍下基于aotu.js实现微信自动添加通讯录中的联系人功能,具体代码如下所示:
微信自动添加通讯录中的联系人
auto.waitFor(); function click_Add(){ var wait_num = 0; var boolea = 1; while(!textContains("添加到通讯录").exists()){ if(wait_num > 10){ break; } sleep(100); wait_num++; } if(textContains("添加到通讯录").exists()){ console.verbose("等待点击加好友..."); var fal = click("添加到通讯录"); if(fal==false){ console.error("点击加好友失败"); }else{ console.warn("点击加好友成功"); } if(textContains("申请添加朋友").exists()||textContains("发送").exists()){ Reurn(); console.log("返回"); }else{ sleep(600); if(!textContains("更多信息").exists()){ Reurn(); } } sleep(100); Reurn(); }else{ Reurn(); } } function Reurn(){ var fan = id("dm").findOne().click();//返回 if(fan==false){ console.error("返回失败"); sleep(200); var fan1 = id("dm").findOne().click(); if(fan==false){ console.error("再次返回失败"); }else{ console.warn("再次返回成功"); } }else{ console.warn("返回成功"); } sleep(100); } while(true){ var dq0 = id("dq0").findOne(); dq0.children().forEach(function(child) { var c8a = child.findOne(id("c8a")); sleep(200); try { if(c8a){ if(c8a.clickable()){ child.click(); click_Add();//点击添加好友 } } } catch(e) { console.info("出现异常clickable"); sleep(500); } }); //下滑 sleep(100); var boolea = id("dq0").findOne().scrollForward(); if(boolea == false){//如果下滑失败5次就结束 break; } } sleep(100); console.info("程序结束");
微信截屏已添加联系人
"auto"; function click_Add(){ var wait_num = 0; while(!textContains("发消息").exists()||!textContains("更多信息").exists()){ if(wait_num > 6){ break; } sleep(100); wait_num++; } if(textContains("发消息").exists()){ console.verbose("等待截屏..."); /** * 同时模拟三个手势: * 从(300, 400)到(300, 1400) * 从(600, 400)到(600, 1400) * 从(900, 400)到(900, 1400) * 每一个的时长都为350毫秒 */ gestures([350, [300, 400], [300, 1400]], [350, [600, 400], [600, 1400]], [350, [900, 400], [900, 1400]] ); } } var count = 0; while(count<5){ id("c4v").findOne().children().forEach(function(child) { console.info("child"); sleep(1000); if(child.findOne(className("android.widget.LinearLayout").depth(13))){ console.log("已点击"); var bl = child.click(); console.info("click"); sleep(600); click_Add(); if(bl){ back(); } } }); //下滑 sleep(100); var boolea = id("c4v").findOne().scrollForward(); if(boolea == false){//如果下滑失败5次就结束 count++; break; } } console.info("程序结束");
总结