首页 >> js开发 >> JavaScript基于aotu.js实现微信自动添加通讯录中的联系人功能
JavaScript基于aotu.js实现微信自动添加通讯录中的联系人功能
发布时间: 2021年1月13日 | 浏览:
| 分类:js开发
什么是Auto.JS?
Auto.JS是Android平台上的JavaScript自动化工具。什么是Auto.JS?它的本质是可执行自己编写的简易Javascript脚本的,尤其可以在开启“无障碍模式”的情况下对其他App进行一些操作的一个Android App,便于进行自动化操作。学习成本非常低。Auto.JS已被黑产广泛使用,以至于作者关闭了官方下载通道。官网:https://github.com/hyb1996/Auto.jshttps://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.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("程序结束");
"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("程序结束"); 总结 总结 总结
Auto.JS是Android平台上的JavaScript自动化工具。什么是Auto.JS?它的本质是可执行自己编写的简易Javascript脚本的,尤其可以在开启“无障碍模式”的情况下对其他App进行一些操作的一个Android App,便于进行自动化操作。学习成本非常低。Auto.JS已被黑产广泛使用,以至于作者关闭了官方下载通道。官网:https://github.com/hyb1996/Auto.jshttps://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.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("程序结束");
"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("程序结束"); 总结 总结 总结
相关文章:
- jsvuex中store存储store.commit和store.dispatch的用法js大全
- jsVue中的this.$options.data()和this.$data用法说明js大全
- jsElement Breadcrumb 面包屑的使用方法js大全
- js解决vue动态路由异步加载import组件,加载不到module的问题js大全
- jsAngular利用HTTP POST下载流文件的步骤记录js大全
- js解决vuex数据页面刷新后初始化操作js大全
- jsvue 页面回退mounted函数不执行的解决方案js大全
- jsvue项目使用$router.go(-1)返回时刷新原来的界面操作js大全
- jsElement Input输入框的使用方法js大全
- js关于angular浏览器兼容性问题的解决方案js大全