通过auto.js实现特定朋友点赞

网上有很多通过auto.js实现朋友圈点赞的,大部分文章都一模一样,找了好久都没找到对特定朋友点赞的脚本,忍不住自己写了一个分享一下,分享代码,新建文件,复制脚本,打开悬浮窗,在对方朋友圈页面点击运行。
有些地方根据手机不同需要微调,不过大部分可以直接使用,手机打字不便,下次再详细讲解过程和思路。

toast(“开始给特定朋友点赞”);
var 点赞总数 = 0;
var 强制滑动次数 = 5;
var 准备点击的纵坐标=new Array()
var 手机纵坐标高度 = 2340;
var 手机横坐标 = 1080;

页面循环点赞();

toast(“点赞结束,总点赞数”+点赞总数);

function 页面循环点赞() {
do {
sleep(1000);//等待向下滑动操作
var 可否下滑=true;

    //对该页面寻找月字定位
    var 当前页面出现月=textEndsWith("月").find();
    console.log("当前页面出现多少个月字" + 当前页面出现月.length);
    //计算需要点击的坐标集合
    if (!当前页面出现月.empty()) {
            item=当前页面出现月[0];
            var 横坐标=item.bounds().centerX();
            var 纵坐标=item.bounds().centerY();
            console.log("第一条信息出现的坐标"+横坐标+"---"+纵坐标);

            if(纵坐标<350){
                for(var i =0;手机纵坐标高度>400; i++){
                    手机纵坐标高度=手机纵坐标高度-50;
                    准备点击的纵坐标[i]=手机纵坐标高度;
                }
                console.log("纵坐标<350"+准备点击的纵坐标);
             }else{
                for(var i =0;手机纵坐标高度>900; i++){
                    手机纵坐标高度=手机纵坐标高度-50;
                    准备点击的纵坐标[i]=手机纵坐标高度;
                }
                console.log("纵坐标>350"+准备点击的纵坐标);
             }
            手机横坐标=横坐标+100;            
    }

    //对当前页面进行循环点击
    for(i = 0;i< 准备点击的纵坐标.length;i++) {
        press(手机横坐标,准备点击的纵坐标[i],50);
        
        sleep(300);//跳转到具体朋友圈适网速等待
        if (className("android.widget.TextView").text("赞").exists()) {
            console.log("---常规图片,并且跳过200");
            className("android.widget.TextView").text("赞").findOne().parent().click();
            sleep(100);
            desc("返回").findOne().parent().click();//返回
            sleep(100);
            点赞总数++;
            i+=4;
        }else if(className("android.widget.TextView").text("取消").exists()){
            console.log("---常规图片已经点过赞了,直接返回,并且跳过200");
            desc("返回").findOne().parent().click();//返回
            sleep(100);
            i+=4;
         }
        else if(text("评论").exists()){
            console.log("---新闻转载模式,并且跳过100");
            className("android.widget.ImageButton").findOne().click();
            sleep(300);
            if (className("android.widget.TextView").text("赞").exists()) {
                item=className("android.widget.TextView").text("赞").findOne();
                var 横坐标=item.bounds().centerX();
                var 纵坐标=item.bounds().centerY();
                press(横坐标,纵坐标,50);
                sleep(200);
                点赞总数++;
            }
            desc("返回").findOne().parent().click();//返回
            sleep(100);
            i+=2;
        }
    }

    //统计点赞,设置下滑操作并避免卡死
    toast("已赞个数:" + 点赞总数);
    console.log("原始可否下滑" + 可否下滑);
    可否下滑=className("android.widget.ListView").findOne().scrollForward();
    console.log("尝试第一次可否下滑" +可否下滑);
    if (!可否下滑) {
        //手动上滑避免卡死
        sleep(1000);
        swipe(540,2000,540,500,1000);
        强制滑动次数--;

        while (textStartsWith("正在加载").exists()) {
            sleep(1000);
            可否下滑=className("android.widget.ListView").findOne().scrollForward();
            console.log("尝试第二次可否下滑" +可否下滑);
            if (!可否下滑) {
            //出现正在加载,并且自动下滑失败,手动上滑避免卡死
            sleep(1000);
            swipe(540,2000,540,500,1000);
            强制滑动次数--;

            }
            console.log("卡在正在加载,触发手动下滑");
        }
        可否下滑=true;//默认为true
    }

    if (textStartsWith("朋友仅展示").exists()) {
        可否下滑=false;
        console.log("已经到底了,出现朋友仅展示等字样");
    }
    console.log("注意--强制滑动次数--"+强制滑动次数);
    if (强制滑动次数<0) {
        可否下滑=false;
        console.log("已经到底了,强制滑动次数为0");
    }

} while (可否下滑);

}

你可能感兴趣的:(笔记)