feat:热爱环游记

This commit is contained in:
loong 2021-10-25 21:33:23 +08:00
parent bb21ef049b
commit 21c9c95933
2 changed files with 104 additions and 85 deletions

View File

@ -5,4 +5,6 @@ autojs脚本程序,用于完成安卓设备上的重复性操作.
2.2021年京东燃动夏季活动脚本
3.2021热爱环游记
- 注意事项
- 需要打开任务界面,再点击开启任务
- 请打开任务界面,再开启脚本
- 有可能出现空指针,undefined等异常,重新启动脚本即可.
- autojs版本为4.1.1

View File

@ -1,9 +1,10 @@
// [注意事项] 打开任务界面
start()
function start() {
auto.waitFor()
app.launch("com.jingdong.app.mall")
// toast("请打开京东app首页")
console.show();
auto.waitFor();
app.launch("com.jingdong.app.mall");
// log("请打开京东app首页")
// className("android.widget.TextView").descContains("搜索框").findOne().click()
// sleep(1000)
// descContains("搜索框").findOne().setText("热爱环游记")
@ -14,70 +15,58 @@ function start() {
// sleep(3000)
while (!textContains("累计任务奖励").exists()) {
// className("android.view.View").textContains("打卡领红包").findOne().click()
toast("请打开任务界面!")
sleep(6000)
}
function isFinish(keyWord) {
let str
if (keyWord == "浏览可得" || keyWord == "浏览并关注" || keyWord == "参与") {
str = textStartsWith(keyWord).findOnce().parent().child(1).text()
} else {
str = textContains(keyWord).findOnce().parent().child(1).text()
}
toast(str)
let finishedTask = str.charAt(str.length - 4)
let allTask = str.charAt(str.length - 2)
sleep(3000)
if (finishedTask == allTask) {
return true
}
return false
}
function isFinishByText(text) {
toast(text)
let finishedTask = text.charAt(text.length - 4)
let allTask = text.charAt(text.length - 2)
sleep(3000)
if (finishedTask == allTask) {
return true
}
return false
log("请打开任务界面!");
sleep(6000);
}
while (1) {
//任务类型二,累计浏览加购5个商品
if (textContains("累计浏览").exists() && !isFinish("累计浏览")) {
toast("累计浏览5个商品")
className("android.view.View").textContains("累计浏览").findOne().parent().child(3).click()
sleep(5000)
let win = textStartsWith("¥").findOnce().parent().parent()
for (let i = 0; i < 5; i++) {
toast("浏览第" + (i + 1) + "个商品")
win.child(i).child(5).click();
sleep(5000)
back()
sleep(3000)
// 任务类型一,浏览8s任务
if (textContains("8s").exists() && !isFinish("8s")) {
for (let i = 0; i < 2; i++) {
let task_8s = className("android.view.View").textContains("8s").find();
if (task_8s[i] && task_8s[i].parent()) {
for (let j = 0; !isFinishByText(task_8s[i].parent().child(1).text()) && j < 7; j++) {
log("浏览8s任务");
task_8s[i].parent().child(3).click();
sleep(12000);
back();
sleep(3000);
}
}
}
back()//返回任务界面
sleep(3000)
}
//任务类型二,累计浏览加购5个商品
else if (textContains("累计浏览").exists() && !isFinish("累计浏览")) {
log("累计浏览5个商品");
className("android.view.View").textContains("累计浏览").findOne().parent().child(3).click();
sleep(5000);
let win = textStartsWith("¥").findOnce().parent().parent();
for (let i = 0; i < 5; i++) {
log("浏览第" + (i + 1) + "个商品");
win.child(i).child(5).click();
sleep(5000);
back();
sleep(3000);
}
back();//返回任务界面
sleep(3000);
}
//任务类型三,普通点击浏览任务
else if (textStartsWith("浏览可得").exists() && !isFinish("浏览可得")) {
toast("普通点击浏览任务")
className("android.view.View").textStartsWith("浏览可得").findOne().parent().child(3).click()
sleep(5000)
back()
sleep(3000)
}
else if (textStartsWith("浏览并关注").exists() && !isFinish("浏览并关注")) {
toast("普通点击浏览任务")
className("android.view.View").textStartsWith("浏览并关注").findOne().parent().child(3).click()
sleep(5000)
back()
sleep(3000)
log("普通点击浏览任务");
className("android.view.View").textStartsWith("浏览可得").findOne().parent().child(3).click();
sleep(5000);
back();
sleep(3000);
}
// else if (textStartsWith("浏览并关注").exists() && !isFinish("浏览并关注")) {
// log("普通点击浏览任务")
// className("android.view.View").textStartsWith("浏览并关注").findOne().parent().child(3).click()
// sleep(5000)
// back()
// sleep(3000)
// }
// else if (textStartsWith("参与").exists() && !isFinish("参与")) {
// toast("普通点击浏览任务")
// log("普通点击浏览任务")
// className("android.view.View").textStartsWith("参与").findOne().parent().child(3).click()
// sleep(5000)
// back()
@ -85,35 +74,63 @@ function start() {
// }
//任务类型四,入会
else if (textContains("入会").exists() && !isFinish("入会")) {
toast("浏览入会界面,获取金币")
className("android.view.View").textContains("入会").findOne().parent().child(3).click()
sleep(3000)
log("浏览入会界面,获取金币");
className("android.view.View").textContains("入会").findOne().parent().child(3).click();
sleep(3000);
if (textContains("加入店铺会员").exists()) {
toast("脚本结束(涉及个人隐私,请手动加入店铺会员或者忽略加入会员任务)")
break
log("脚本结束(涉及个人隐私,请手动加入店铺会员或者忽略加入会员任务)");
break;
}
back()
sleep(3000)
}
// 任务类型一,浏览8s任务
else if (textContains("8s").exists()&& !isFinish("8s")) {
let task_8s = className("android.view.View").textContains("8s").find();
for (let i = 1; i < task_8s.length; i++) {
toast(task_8s.length)
for (let j = 0; !isFinishByText(task_8s[i].parent().child(1).text()) && j < 7; j++) {
toast("浏览8s任务")
task_8s[i].parent().child(3).click()
sleep(12000)
back()
sleep(3000)
}
}
back();
sleep(3000);
}
//结束
else {
toast("所有任务已完成,若有剩余可再启动一次脚本或手动完成")
break
log("四种任务已完成,若有剩余可再启动一次脚本或手动完成");
break;
}
//避免弹窗,返回任务界面
for (let i = 1; !textContains("累计任务奖励").exists() && i <= 5; i++) {
if (i == 5) {
toast("无法返回任务界面,脚本结束");
exit();
}
toast("无法返回任务界面,第" + i + "次尝试返回(最多4次)");
sleep(1000);
back();
sleep(3000);
}
}
}
}
function isFinish(keyWord) {
let str;
if (keyWord == "浏览可得" || keyWord == "浏览并关注" || keyWord == "参与") {
str = textStartsWith(keyWord).findOnce().parent().child(1).text();
} else {
str = textContains(keyWord).findOnce().parent().child(1).text();
}
log(str);
let finishedTask = str.charAt(str.length - 4);
let allTask = str.charAt(str.length - 2);
sleep(3000)
if (finishedTask == allTask) {
return true;
}
return false;
}
function isFinishByText(text) {
log(text);
let finishedTask = text.charAt(text.length - 4);
let allTask = text.charAt(text.length - 2);
sleep(3000);
if (finishedTask == allTask) {
return true;
}
return false;
}
// function taskNum(text) {
// log(text)
// let finishedTask = text.charAt(text.length - 4)
// let allTask = text.charAt(text.length - 2)
// return allTask-finishedTask;
// }