2021 jd 炸年兽 auto.js
程序员文章站
2022-06-22 13:59:54
2021 京东 炸年兽 auto.js 自用说明1.自动浏览店铺环境1.逍遥模拟器 安装 auto.js2. 分辨率 720*1080注意首次加入会员 需要手动点击加入购物车会有多次,id选择器 获取不到 图标,使用坐标点击。auto.jslet MAX_EPOCH = 50 //最大执行次数try { auto(); //打开应用 app.launchApp("京东"); sleep(5000); console.log("app 打...
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
上一篇: idea热部署且开启自动编译的实现方法