前言
x> 双十一活动已经过期,本文仅作存档
本脚本仅供学习交流之用,使用者如何使用与本文作者无关。
AutoJS下载 & 教程
全民营业脚本
i> 如果遇到问题请在下方评论
脚本
//遇到问题请在 https://chrxw.com 留言
//Ver 0.6 2020.10.31
//By Chr_([email protected])
//=========================
//功能配置
//自动加入会员(设为false禁用)
var auto_join_vip = true;
//自动完成加购任务(设为false禁用)
var auto_add_cart = true;
//=========================
auto.waitFor();
// console.show();
toast('\n脚本开始运行\n请切换到任务页');
for (var i = 0; i < 10; i++) {
//等待切换到任务页
if (className("android.view.View").text("收取金币").exists() ||
className("android.view.View").text("立即解锁").exists()) {
log('break');
break;
}
rsleep(1);
}
if (!className("android.view.View").textStartsWith("邀请好友助力").exists()) {
advclick(className("android.view.View").text("领金币").findOnce());
}
toast("\n即将开始工作\n中途需退出请按【音量+】终止");
sleep(2000);
for (; ;) {
var flag = false;
var objs = text("去完成").find();
for (var i = 0; i < 10; i++) {
if (objs[i] != null) {
obj = objs[i].parent();
if (obj.children() >= 8) {
break;
}
}
}
var tasks = obj.children();
for (var i = 2; i < tasks.length; i += 4) {
var txt = tasks[i].text();
log(txt, i);
if (txt.search("8秒") != -1) {
var btn = tasks[i + 1];
if (btn.text() == "去完成") {
advclick(btn);
view();
flag = true;
}
} else if (txt.search("浏览可得") != -1) {
var btn = tasks[i + 1];
if (btn.text() == "去完成") {
advclick(btn);
view2();
flag = true;
}
} else if (auto_join_vip && txt.search("成功入会可得") != -1) {
var btn = tasks[i + 1];
if (btn.text() == "去完成") {
advclick(btn);
view3();
flag = true;
}
} else if (auto_add_cart && txt.search("5个") != -1) {
var btn = tasks[i + 1];
if (btn.text() == "去完成") {
advclick(btn);
view4();
flag = true;
}
}
if (flag) {
break;
}
}
if (!flag) {
toast("\n脚本运行完毕\n模拟浏览任务全部完成(大概)");
break;
}
}
//模拟浏览(浏览会场任务)
function view() {
rsleep(3);
rslide(10);
// className("android.widget.Image").text("vk image").findOne(5000);
rslideR(1);
rsleep(3);
advback();
}
//模拟浏览(直接返回)
function view2() {
rsleep(2);
back();
rsleep(2);
}
//模拟浏览(开卡)
function view3() {
rsleep(2);
var btn = className("android.view.View").text("确认授权并加入店铺会员").findOne(5000);
log(btn);
if (btn) {
advclick(btn);
className("android.view.View").text("恭喜您已集齐所有会员卡").findOne(2000);
rsleep(2);
advback();
}
}
//模拟浏览(浏览商品、加购任务)
function view4() {
rsleep(3);
var add_cart = true;
var count = 4;
if (className("android.view.View").text("任意浏览以下5个商品").exists()) {
var add_cart = false;
var count = 4;
} else {
var add_cart = true;
var count = 5;
}
log(add_cart ? "加购模式" : "浏览模式");
for (var i = 0; i < 5; i++) {
var prices = className("android.view.View").textMatches("^¥[0-9]+\.[0-9][0-9]").untilFind();
log(i, prices[i].text());
var good = prices[i].parent().parent();
if (good.childCount() > count) {
log('已完成,跳过');
continue;
}
if (!add_cart) {
advclick(good);
rsleep(2);
rslide(1);
className("android.widget.ImageView").desc("返回").click();
} else {
good.child(4).click();
} rslide(1);
rsleep(2);
}
advback();
rsleep(3);
}
//随机延时
function rsleep(s) {
while (s--) {
sleep(random(900, 1200));
}
}
//模拟返回
function advback() {
for (var i = 0; i < 3; i++) {
if (!className("android.widget.ImageView").desc("返回").exists()) {
rslideR(1);
rsleep(2);
continue;
}
className("android.widget.ImageView").desc("返回").click();
rsleep(5);
if (className("android.view.View").text("领金币").exists()) {
return;
}
}
log("定位不到返回按钮,模拟返回键");
back();
}
//随机划屏
function rslide(i) {
while (i--) {
var x1 = random(200, 900);
var y1 = random(1200, 1900);
var x2 = random(200, 900);
var y2 = random(1000, 1200);
swipe(x1, y1, x2, y2, 300);
rsleep(1);
}
}
//随机划屏,反向
function rslideR(i) {
while (i--) {
var x1 = random(200, 900);
var y1 = random(900, 1300);
var x2 = random(200, 900);
var y2 = random(1500, 1900);
swipe(x1, y1, x2, y2, 300);
rsleep(1);
}
}
function advclick(uiobject) {
var rect = uiobject.bounds();
// var x = random(rect.left, rect.right);
// var y = random(rect.top, rect.bottom);
click(rect.centerX(), rect.centerY());
}
说明
- 加了几个功能开关,可以禁用部分功能。
- 修正了几个影响使用的bug。
- 支持浏览,开卡,加购等任务。
- 修复无法退出的bug。
- 修复了无法运行的bug。
每日逛店脚本
活动页最下面每日逛店也有少量金币,不过受益比较感人,就不整合了,需要的自取
//遇到问题请在 https://chrxw.com 留言
//Ver 0.1 2020.10.27
//By Chr_([email protected])
auto.waitFor();
toast('\n脚本开始运行\n请切换到任务页');
className("android.view.View").textStartsWith("宝箱随机藏在以下店铺内").waitFor();
for (var k = 0; k < 10; k++) {
count = className("android.view.View").text("寻宝箱 领金币").findOne().parent().child(2).childCount();
if (count > 0) {
toast("\n即将开始工作\n中途需退出请按【音量+】终止");
for (var i = 0; i < 20; i++) {
var shops = className("android.view.View").text("寻宝箱 领金币").findOne().parent().child(2).children();
shops[i].click();
rsleep(4);
if (className("android.view.View").text("每日签到 (0/1)").findOne(100) &&
className("android.view.View").text("去完成").findOne(100)) {
toast('达到每日上限,任务结束');
back();
break;
}
back();
}
toast('工作完成,总计', i, '个店铺');
break;
} else {
toast('获取不到店铺列表,请手动划到活动页最下面');
}
}
//随机延时
function rsleep(s) {
while (s--) {
sleep(random(900, 1200));
}
}
热爱时光机脚本
脚本
//遇到问题请在 https://chrxw.com 留言
//Ver 0.1 2020.11.1
//By Chr_([email protected])
//=========================
//功能配置
//=========================
auto.waitFor();
//console.show();
// toast('\n脚本开始运行\n请切换到品牌狂欢城任务页');
className("android.view.View").text("热爱时光机").waitFor();
// toast("\n即将开始工作\n中途需退出请按【音量+】终止");
// sleep(2000);
for (; ;) {
if (!className("android.view.View").textStartsWith("邀请好友一起玩").exists()) {
get_task_btn().click();
rsleep(2);
}
var flag = false;
var objs = text("去完成").find();
for (var i = 0; i < objs.size(); i++) {
if (objs[i] != null) {
obj = objs[i].parent();
if (obj.children().size() == 2) {
break;
}
}
}
var tasks = obj.parent().parent().children();
for (var i = 0; i < tasks.length; i++) {
var txt = tasks[i].child(1).text();
var btn = tasks[i].child(3).child(0);
if (txt.search("超级") != -1) {
if (btn.text() == "去完成") {
log(1, txt);
btn.click();
rsleep(2);
view2();
flag = true;
}
} else if (txt.search("大牌") != -1) {
if (btn.text() == "去完成") {
log(2, txt);
btn.click();
rsleep(2);
view3();
flag = true;
}
} else if (txt.search("精选") != -1) {
if (btn.text() == "去完成") {
log(3, txt);
btn.click();
view();
flag = true;
}
// 有bug,暂时不能使用
// } else if (txt.search("同城") != -1) {
// if (btn.text() == "去完成") {
// log(3, txt);
// btn.click();
// view();
// flag = true;
// }
}
if (flag) {
break;
}
}
if (!flag) {
toast("\n脚本运行完毕\n模拟浏览任务全部完成(大概)");
break;
}
}
//模拟浏览(直接返回)
function view() {
rsleep(2);
advback();
rsleep(2);
}
//模拟浏览(主页浏览任务1)
function view2() {
var task = className("android.view.View").textStartsWith("逛超级品牌立得100").findOnce(1);
if (task) {
var str = task.text();
var nums = str.match(/\d+/g);
var curr = nums[1];
var max = nums[2];
while (curr < max) {
toastLog('逛超级品牌任务', curr);
className("android.view.View").textStartsWith("逛超级品牌立得100").findOnce(1).parent().child(2).child(0).child(1).click();
view();
curr++;
}
}
}
//模拟浏览(主页浏览任务2)
function view3() {
var task = className("android.view.View").textStartsWith("逛大牌品牌立得50").findOnce(1);
if (task) {
var str = task.text();
var nums = str.match(/\d+/g);
var curr = nums[1];
var max = nums[2];
toastLog(nums)
while (curr < max) {
toastLog('逛大牌品牌任务' + curr);
className("android.view.View").textStartsWith("逛大牌品牌立得50").findOnce(1).parent().child(1).child(1).click();
view();
curr++;
}
}
}
//随机延时
function rsleep(s) {
while (s--) {
sleep(random(900, 1200));
}
}
//模拟返回
function advback() {
for (var i = 0; i < 3; i++) {
if (!className("android.widget.ImageView").desc("返回").exists()) {
rslideR(1);
rsleep(2);
continue;
}
className("android.widget.ImageView").desc("返回").click();
rsleep(5);
if (className("android.view.View").text("热爱时光机").exists()) {
return;
}
}
log("定位不到返回按钮,模拟返回键");
back();
}
//随机划屏
function rslide(i) {
while (i--) {
var x1 = random(200, 900);
var y1 = random(1200, 1900);
var x2 = random(200, 900);
var y2 = random(1000, 1200);
swipe(x1, y1, x2, y2, 300);
rsleep(1);
}
}
//随机划屏,反向
function rslideR(i) {
while (i--) {
var x1 = random(200, 900);
var y1 = random(900, 1300);
var x2 = random(200, 900);
var y2 = random(1500, 1900);
swipe(x1, y1, x2, y2, 300);
rsleep(1);
}
}
//高级点击
function advclick(uiobject) {
var rect = uiobject.bounds();
// var x = random(rect.left, rect.right);
// var y = random(rect.top, rect.bottom);
click(rect.centerX(), rect.centerY());
}
//获取任务按钮
function get_task_btn() {
var tips = className("android.view.View").textMatches("剩余\\d+能量").findOnce();
var btn = tips.parent().parent().child(4);
return (btn);
}
说明
- 此为第一版,可能存在bug,如有遇到请在此反馈。
本文链接:https://blog.chrxw.com/archives/2020/10/25/1409.html
转载请保留本文链接,谢谢
45 条评论
文章写的很好啊,赞(ㆆᴗㆆ),每日打卡~~
每次都费时费力为了广大撸毛党制作脚本,浪费的时间匹配不上你的才华,何不毕全功于一役制作一个这种类型的万能脚本,有没有这种可能性?
这个想法不太现实,不过有可能的话我想自己造个轮子,autojs免费版年久失修,不是很好用了
你真是太棒了!!
求营业版图任务脚本。路径双11活动主要左上角图标
要不试试别人的脚本:https://github.com/hyue418/taobao-11-11
我暂时不会做这个功能,因为这周在赶项目
亲还是在报错直接就完成了
时光机的还是用不了额,只会不停的打开弹窗,不会点进店里去
现在又有新的活动,京东的,叫品牌狂欢城,在我的-我的双11里面,集能量任务里面逛店铺起码73家,手动要抽筋了,请问大佬有兴趣也弄一个脚本吗
我没找到入口,能再说明的详细一点吗?
真大佬
在点开京东APP后,右下角我的,第一屏下方,我的11.11,从左数第三个,品牌狂欢城
花了1小时简单的撸了一个,放到文章末尾了
谢谢大佬!
这个热爱时光机的脚本一直会提示没有悬浮窗权限,全民营业的就不会。。
第8行 console.show(); 删掉即可,忘记去掉了。
老是弹出集能量那页面,做不了任务
ok
营业版图什么时候能加上呢,每个城市都有任务哦
还有快递员送货
快递员点4次就没有了。自己做吧
不行了 开始就结束
已修复
不能用了,打开后先显示任务开始后,直接显示任务已完成
修复了 ,第30行改成findOnce(1)即可
重新用了,今天更新的可以用
只能完成一次~不会返回
结束运行脚本,然后重新运行即可解决,这个问题我稍后修复。
完成一个任务之后会退回到京东首页,华为EMUI11
结束运行脚本,然后重新运行即可解决,这个问题我稍后修复。
完成那个“11.11主场”的任务后,会卡着不动,需要停止重新来才行。
k30pro无法正常使用脚本,看了主会场之后无法自动返回,然后就会卡死在一个界面上
尝试按音量+结束脚本,然后重启试试?有可能是卡视图分析了,貌似是autojs的bug
请问在哪里改浏览时间,手机太慢,每次都是没完成就自动返回,想调时间但不知道应该调那个数值
137行,里面的数字调大点,单位是毫秒
从618过来的,感谢分享!|´・ω・)ノ
甄选优品任务无法完成
强制结束脚本然后再重新运行一次就行了,估计是卡视图分析了,我找个时间调试下
0.3的在我一台安卓7的华为老爷机上只能打开控制台窗口,不动也没其他输出。
切到任务页面,就是能看到任务信息的页面再开脚本
不行啊,安卓10的一加5T,JD版本9.0.6,在任务不会动,也不会打开任务页。
有没有给autojs后台读写手机储存的权限呢?
0.3的好像能动了,但是之前已经手动把浏览任务做完了没法试了,剩下开卡入会员任务,0.3的脚步唰唰地替我加了加了其他会员。
加入会员这个功能建议加上个控制标志,毕竟加入了太多会员以后短信就发过来一堆。
ok,那我加个开关