这两天淘宝618领猫币,感觉周围的人都快疯了,天天点过来点过去的,我看了下大部分都还简单就是那个50次.. 每次10秒,炒鸡难受。
(我是Android机)
开启手机的usb调试模式,然后通过abd发送指令,点击并等待10s,然后返回.. 思路很简单,不过有时候命令记不住。
先贴一个abd命令大全https://blog.csdn.net/lb245557472/article/details/84068519
注意要开启安全usb调试,不然起不到作用。
其实,最开始我想的是通过截图,然后确定某个按钮的位置,然后点击,后来发现... 对于我这种半吊子水平来说有点困难,最终,代码就只能适用自己的同款设备了。
代码不多,直接上:
//618 自动刷猫币
//开启开发者模式,使用adb调用命令处理。
let exec = require('child_process').exec;
function exeCmd(cmd,delay){
return new Promise((resolve,reject)=>{
exec(cmd,(out,std)=>{
setTimeout(function(){
resolve(std);
},delay || 1000);
})
});
}
function toShow1(){
let cmd = 'adb shell input tap 901 1639';
return exeCmd(cmd)
.then(rf=>{
return rf;
})
}
function toShow2(){
let cmd = 'adb shell input tap 942 953';
return exeCmd(cmd,16000)
.then(rs=>{
return rs;
})
}
function back(){
let cmd ='adb shell input keyevent 4';
return exeCmd(cmd,3000)
.then(rs=>{
return rs;
})
}
function getm(){
let cmd = 'adb shell input tap 978 1083';
return exeCmd(cmd,5000)
.then(rs=>{
let cmd2 = 'adb shell input tap 529 1364';
return exeCmd(cmd2,5000)
});
}
function backHome(){
return back()
.then(rs=>{
return back();
})
}
let count = 0;
async function start(){
console.log(`第${count}轮:________`);
console.log('查看逛街')
await toShow1();
console.log('去逛店')
await toShow2();
console.log('收下猫币')
await getm();
//领取
console.log('返回')
await back();
count++;
if(count < 50){
start();//继续
}else{
//继续后续的其他操作
process.exit(0);
}
}
//剩余
async function other(){
}
start();
很简单,就是循环调用命令[点击、返回、点击、返回...]
adb 存放路径要放在环境变量里面,不然直接调用报错的。 ADB shell 下载
转载请注明出处: https://chrunlee.cn/article/nodejs-adb-shell.html