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);
}