刘小帅

qq群自动点赞
/* qq版本 8.6.5.5255 */ var groupName = "重要";...
扫描右侧二维码阅读全文
26
2021/04

qq群自动点赞


/*
 qq版本 8.6.5.5255

*/

var groupName = "重要"; //要操作的群组
var seleExistCount = 10; //如果元素不存在 需要找几次 缺省无限找

function search(inputSearch,seleExistCount) {
    var count = 0;
    while (true) {
        sleep(1);
        if (desc(inputSearch).exists()) {
            desc(inputSearch).findOne().click();
            sleep(500);
            break;
        }else{
            count += 1;
            toastLog("未找到搜索框 开始第"+ count + "次寻找");
            sleep(1500);
            if (count >= seleExistCount ) {
                toastLog("找寻元素失败...");
                exit();
                break;
            }

        }
    }
}

function findDesc(inputDesc,seleExistCount) {
    var count = 0;
    while(true){
        sleep(1);
        if (desc(inputDesc).exists()) {
            desc(inputDesc).findOne().click();
            sleep(500);
            break;
        }else{
            count += 1;
            toastLog("未找到群组三条杠 开始第" + count + "次寻找");
            sleep(1500);
            if (count >= seleExistCount) {
                toastLog("找寻元素失败...");
                sleep(200);
                exit();
                break;
            }
        }
    }

}

function findText(inputText,seleExistCount) {
    var count = 0;
    while(true){
        sleep(1);
        if (text(inputText).exists()) {
            text(inputText).findOne().parent().click();
            sleep(1000);
            break;
        }else{
            count += 1;
            toastLog("未找到群聊成员元素 开始第" + count + "次寻找");
            sleep(1500);
            if (count > seleExistCount) {
                toastLog("找寻元素失败...");
                sleep(200);
                exit();
                break;
            }
        }
    }
}

function sleepWait(inputText){
    while (true){
        sleep(1);
        if (textMatches(inputText).exists()) {
            toastLog("列表未加载完成请继续等待...");
            sleep(2000);
        }else{
            toastLog("进入成员列表页成功...");
            sleep(200);
            break;
        }
    }
}


//拉qq
status = launchApp("QQ");
sleep(2000);

if (status == true) {
    while (true){
        sleep(1);
        if(!desc("搜索框").exists() && (!text("找人/群").exists()) && (!text("表情").exists()) && (!id("com.tencent.mobileqq:id/o2p").exists()) && (!text("消息").exists())  && (!text("联系人").exists()) ){
            back();
            sleep(1000);

        }else if (id("com.tencent.mobileqq:id/o2p").exists()){
            text("消息").findOne().parent().click();
            sleep(1000);
            break;
        }else if (desc("搜索聊天或者联系人").exists()){
            back();
            sleep(1000);
            break;
        }else{
            break;
        }
        
    }
        //点搜索
        search("搜索",seleExistCount);

        //输入群族名
        setText(groupName);

        sleep(1000);
        //点击相应群组

        id("com.tencent.mobileqq:id/title").className("android.widget.TextView").text(groupName).findOne().parent().parent().parent().click();
        sleep(1000);

        //群聊设置三条杠
        findDesc("群聊设置",seleExistCount);
        // desc("群聊设置").findOne().click();
        // sleep(1000);

        //群聊成员
        findText("群聊成员",seleExistCount);

        // text("群聊成员").findOne().parent().click();


        //等待群聊成员列表加载完毕
        sleepWait("加载中..*");

        var num = 1 //点赞计数变量
        label1:
        while(true){
            sleep(1);
            var listView = id("com.tencent.mobileqq:id/ixj").find();
            if (listView.length < 0) {
                break;
            }
        
            listView.forEach((child,index) => {
                sleep(1000);
                // 点击具体的人
                child.parent().click();
                sleep(3000);
        
                //如果第一种赞元素存在
                if (className("android.widget.FrameLayout").clickable(true).descMatches( "[0-9]{1,20}次赞.*").exists()) {           
                    //第一种赞元素
                    var fristPraise = className("android.widget.FrameLayout").clickable(true).descMatches( "[0-9]{1,20}次赞.*").findOne();
                    while (true) {
                        sleep(1);
                        fristPraise.click();
                        sleep(500);
                        if(text("谁赞过我").exists()){
                            back();
                            sleep(500);
                            back();
                            sleep(500);
                            break;
                        }
                        log("已点赞"+num+"次");
                        num += 1;
                        sleep(700);
                        //如果存在这两种则返回上一级页面
                        var stop = text("开通超级会员点赞翻倍,每天可以给每个好友点20个赞哦!").find().length;
                        var stop1 = text("花样赞").find().length;
                        if (stop == 1) {
                            back();
                            sleep(1200);
                            break;
                        }else if (stop1 == 1){
                            back();
                            sleep(1200);
                            break;
                        }
                    }
        
                //  第二种赞元素是否存在
                }else if (descMatches("[0-9]{1,20}次赞.*").exists()){
                    //第二种赞元素
                    var  secondPraise = descMatches("[0-9]{1,20}次赞.*").findOne();
                    while (true) {
                        sleep(1);
                        secondPraise.click();
                        sleep(500);
                        if(text("谁赞过我").exists()){
                            back();
                            sleep(500);
                            back();
                            sleep(500);
                            break;
                        }
                        log("已点赞"+num+"次");
                        num += 1;
                        sleep(200);
                        var stop = text("开通超级会员点赞翻倍,每天可以给每个好友点20个赞哦!").find().length;
                        var stop1 = text("花样赞").find().length;
                        if (stop == 1) {
                            back();
                            sleep(1200);
                            break;
                        }else if (stop1 == 1){
                            back();
                            sleep(1200);
                            break;
                        }
                    }
                    //两种都不存在就返回上一级页面 后续发现新的赞元素需要再添加
                }else{
                    back();
                    sleep(1000);
                }
        
        
            })
            // scrollDown();
            // sleep(1000);
            var scroStatus = scrollDown();
            //滑动到底部则退出所有循环
            if (scroStatus == false) {
                toastLog("bot运行完毕...");
                sleep(200);
                break label1;
            }
        }
    
    
}else{
    toastLog("拉起qq失败...");
}



























Last modification:April 30th, 2021 at 02:06 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment