2021 jd 炸年獸 auto.js

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(text("在當前頁加購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(text("在當前頁加購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(text("在當前頁加購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(text("在當前頁加購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(text("在當前頁加購5個商品").exists()){
   
   
            break;
        }else{
   
   
            sleep(4000);
            back();
        }
    }
    console.log('5');
    click(268,848,343,923); sleep(4000); back();sleep(4000);
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章