2021 jd 炸年兽 auto.js

2022-07-25,,

2021 京东 炸年兽 auto.js 自用

说明

自动浏览店铺

环境

逍遥模拟器  安装 auto.js
 分辨率 720*1080

注意

首次加入会员 需要手动点击
加入购物车会有多次,因为 id选择器 获取不到 图标,会使用坐标点击,重复添加前两件商品,耐心等待。

auto.js

let MAX_EPOCH = 50 //最大执行次数
try {
    auto();
    //打开应用
    app.launchApp("京东");
    sleep(5000);
    console.log("app 打开成功!");
    var b = desc("浮层活动").findOne().bounds();
    //点击两次进入活动
    click(b.centerX(), b.centerY());
    sleep(2000);

    if(text("集爆竹").exists()){
        //打开集爆竹
        let x = textContains("集爆竹").findOne().click();
    }else{
        click(b.centerX(), b.centerY());
        sleep(2000);
        //打开集爆竹
        let x = textContains("集爆竹").findOne().click();
    }
    // 执行 8秒 任务
    eight();
} catch (error) {
    console.log(error);
    toast("请手动开启无障碍并授权给Auto.js"); sleep(2000); exit();
}
console.show()

//获取对应的任务按钮
function get_task(pat) {
    let x = textContains(pat).find()
    //let a = textContains(pat).untilFind();
    // console.log(x);
    // console.log(a);
     console.log("x 长度:"+x.length);
    // console.log("a 长度:"+a.length);
    
    // list_x = x.parent().children()
    for (let i = 0; i < x.length; i++) {
        txt = x[i].text()
        console.log("txt: "+txt);
        if (txt.indexOf(pat) > -1 && x[i + 1].text() != "已完成") {
            return x[i + 1]
        }
    }
    return null
}

function eight(){
    //执行简单8秒任务 
    console.log('开始执行简单8秒任务')
    for (let i = 0; i < MAX_EPOCH; i++) {
        sleep(2000);
        console.log("循环次数:"+i);
        let btn_todo = get_task("去完成")
        if (!btn_todo) break
        btn_todo.click();

        //点击去完成 等待2S,等待下面页面加载完成
        sleep(2000);

        console.log("1------"+text("在当前页加购5个商品").exists());
        //执行加入购物车
        if(textContains("加购5个商品").exists()){
            console.log("存在,在当前页加购5个商品")
            addShopp();
            sleep(2000);back();
            continue;
        }
        
        console.log("2------"+text("去签到").exists());
        if(text("去签到").exists()){
            console.log("存在去签到")
            let x = textContains("去签到").findOne().click();
            sleep(10000);
            back();
            continue;
        }
        console.log("开始浏览")
        if(text("确认授权并加入店铺会员").exists()){
            console.log("存在,确认授权并加入店铺会员");
            //textContains("确认授权并加入店铺会员").findOne().click();
            var sendButton = text("确认授权并加入店铺会员").findOne();
            sendButton.click();
            continue;
        }
        sleep(12000); back();
        while(true){
            sleep(2000);
            if(text("去完成").exists()){
                console.log("存在去完成")
                break;
            }else{
                back();
            }
        }
    }
    console.log('执行简单8秒任务,完成')
}

//购物车加入5件商品
function addShopp(){
    const productXY = ["268,657,343,732","607,659,678,729","271,1143,340,1214"
                        ,"607,1143,678,1214","268,848,343,923"];
    console.log('开始加购5个商品');
    //console.log('开始第1个商品');

    // productXY.forEach(function(item,index){
    //     console.log('开始加购第'+(index+1)+'个商品,完成');
    //     sleep(2000);
    //     console.log("item :" +item);         console.log("index :" + index);
    //     click(268,657,343,732); sleep(2000); back();
    //     console.log('第'+(index+1)+'个商品加购完成!');
    // });
    console.log('1');
    click(268,657,343,732); sleep(4000); back();
    while(true){
        sleep(3000);
        if(textContains("加购5个商品").exists()){
            console.log("存在")
            break;
        }else{
            back();
        }
    }

    console.log('2');
    click(607,659,678,729); sleep(4000); back();sleep(4000);
    while(true){
        sleep(3000);
        if(textContains("加购5个商品").exists()){
            break;
        }else{
            sleep(4000);
            back();
        }
    }
    console.log('3');
    click(271,1143,340,1214); sleep(4000); back();sleep(4000);
    while(true){
        sleep(3000);
        if(textContains("加购5个商品").exists()){
            break;
        }else{
            sleep(4000);
            back();
        }
    }
    console.log('4');
    click(607,1143,678,1214); sleep(4000); back();sleep(4000);
    while(true){
        sleep(3000);
        if(textContains("加购5个商品").exists()){
            break;
        }else{
            sleep(4000);
            back();
        }
    }
    console.log('5');
    click(268,848,343,923); sleep(4000); back();sleep(4000);
}


本文地址:https://blog.csdn.net/qq_33668030/article/details/112845250

《2021 jd 炸年兽 auto.js.doc》

下载本文的Word格式文档,以方便收藏与打印。