天猫618自动领猫币

天猫618自动领猫币

月光魔力鸭

2019-06-04 09:33 阅读 1486 喜欢 0 adb 自动领猫币

这两天淘宝618领猫币,感觉周围的人都快疯了,天天点过来点过去的,我看了下大部分都还简单就是那个50次.. 每次10秒,炒鸡难受。

目标 : 自动领

准备

(我是Android机)

大体思路

开启手机的usb调试模式,然后通过abd发送指令,点击并等待10s,然后返回.. 思路很简单,不过有时候命令记不住。

先贴一个abd命令大全https://blog.csdn.net/lb245557472/article/details/84068519

开启USB

注意要开启安全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


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
在开发的时候,经常会有css js 文件的变更,然后部署后发现没有起到作用,最终发现是缓存的问题,如何来方便的解决
当我们想实现一个自己的库或模块后,发布的话,需要发布到npm上才能下载。以下是具体步骤
在使用puppeteer 跳转窗口的时候,发现waitForNavigator 并不起作用,最后找到通过browser 获得page 并继续操作。
最近有客户提出了这么一个需求:微信dat文件在解码后的图片无法按照时间进行排序。 是的,解码后的文件的时间都是解码的时间,由于软件比较多,当时没做自动更新,所以在这里做一个小工具,可以将对应的解码后的图片的时间修改为微信dat文件对应的时间
由于国家的行政区划每年都有变化,所以经常需要更新最新的数据,这里提供一个nodejs版本mysql数据存储的抓取示例。
客户有一批音频需要处理成视频,最好是带有图片,于是就有了下文。
通过pm2来实现nodejs应用的集群,不过我之前没做session共享,导致.. 登录不上啊 啊啊啊,无奈,又重新对redis进行了集成。