吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14153|回复: 79
收起左侧

[Java 原创] 【JavaScript语言】ZFB双十二自动赚翻倍豆脚本(基于AutoJs)

  [复制链接]
yzw1130 发表于 2019-12-2 01:05
本帖最后由 yzw1130 于 2019-12-16 09:47 编辑

碰巧在论坛看到 MagicYang 大佬发的脚本:
【JavaScript语言】基于AutoJs的ZFB双十二到店付款瓜分亿元自动做任务赚翻倍豆脚本
https://www.52pojie.cn/thread-1066071-1-1.html

一时手痒, 参考大佬的脚本写了一个新的:

  • 支持点击红包来赚取翻倍豆(需要填写次数【防止你手机烧了,哈哈】,想要无限循环自己改下代码吧);
  • 应该是考虑了各种情况,较完美自动执行做任务赚翻倍豆

注意:请打开支付宝,进入活动页面(即有一个欠点的红包的页面),再执行本脚本!
          不支持息屏,如果页面有弹出其他消息可能会受影响!

目前已知问题:
  • 安卓7的可以简单尝试下,不保证支持

====================
2019-12-16 更新
  • 跟随ZFB更新(活动降了,只有+1000了)

====================
2019-12-12 更新
  • 跟随ZFB更新(这次采用多个方式,按钮名称变了也没关系了)

====================
2019-12-11 又又更新
  • 跟随ZFB更新,更改按钮文案

====================
2019-12-05 更新

  • 跟随ZFB更新,更改按钮文案
  • 修改获取红包的位置,能适配更多机型

======================
2019-12-03 更新
  • 尝试修复点击已完成状态的bug;
  • 能自主选择是否做任务;



======================
2019-12-02 更新
  • 修复点击红包只能2次的bug;
  • 修复关闭窗口失效bug;
  • 修复跳转后出现授权窗口,无法跳过的bug;

======================


如有不清楚使用的,可以参考上面大佬的帖子内容。
后续有更新的话,第一时间是传到GitHub:https://github.com/ennnnny/autojs

代码如下:
[JavaScript] 纯文本查看 复制代码
auto.waitFor();
var height = device.height;
var width = device.width;
toast("\n设备宽" + width + "\n" + "设备高" + height + "\n" + "手机型号" + device.model + "\n安卓版本" + device.release);
setScreenMetrics(width, height);

var is_task = confirm("是否要做任务赚豆豆?");
var click_num = dialogs.rawInput("请输入点击红包的次数(留空为取消)", "");
if (isNaN(click_num)) {
    toast("输入有误,不执行点击红包!");
    click_num = "";
}
click(300, 600);

var button = is_index();
if (button != null) {
    var red_package_temp = className("android.widget.Image").depth(14).findOne();
    var red_package = red_package_temp.parent().child(3).bounds();
    
    if (is_task) {
        button.click();

        var task_num = 0;
        textContains("做任务赚翻倍豆").waitFor();
        var b = textContains("做任务赚翻倍豆").findOne().bounds();

        var wait_num = 1;
        var find_num = 0;
        while (true) {
            let item = textEndsWith("+1000").findOnce(find_num);
            if (item != null) {
                if (item.parent().child(2).text() != "已完成") {
                    task_click("+1000", find_num);
                    task_num++;
                    toast("第" + task_num + "个");
                    find_num = 0;
                } else {
                    find_num++;
                }
                continue;
            }
            wait_num++;
            if (wait_num > 5) {
                break;
            } else {
                swipe(width / 2, height / 2 + 300, width / 2, height / 2, 500);
            }
        }

        var wait_num = 1;
        var find_num = 0;
        while (true) {
            let item = textEndsWith("+2000").findOnce(find_num);
            if (item != null) {
                if (item.parent().child(2).text() != "已完成") {
                    task_click("+2000", find_num);
                    task_num++;
                    toast("第" + task_num + "个");
                    find_num = 0;
                } else {
                    find_num++;
                }
                continue;
            }
            wait_num++;
            if (wait_num > 5) {
                break;
            } else {
                swipe(width / 2, height / 2 + 300, width / 2, height / 2, 500);
            }
        }
        
        back_try();
        toast("做任务赚翻倍豆结束");
        toast("此次共赚" + task_num * 2000 + "个翻倍豆");
        click(width - 70, b.centerY());
    }

    if (click_num != null && click_num != "" && click_num != 0) {
        var button_2 = is_index();
        if (button_2 != null) {
            red_packet(red_package, click_num);
        } else {
            toast("位置异常,未能点击红包!");
        }
    }
} else {
    toast("请回到活动首页再折行脚本!");
}

toast("脚本结束");

function is_index() {
    if (textContains("翻倍豆限时加量").exists()) {
        return textContains("翻倍豆限时加量");
    } else {
        if (textContains("我的翻倍豆").exists()) {
            let one = textContains("我的翻倍豆").findOne().parent().child(3);
            return one;
        } else {
            if (textContains("获得瓜分资格后").exists()) {
                let two = textContains("获得瓜分资格后").findOne().parent().child(3);
                return two;
            } else {
                return null;
            }
        }
    }
}

function task_click(quota, find_num) {
    if (text("再玩玩").exists()) {
        text("再玩玩").findOne().click();
    }
    let item = textEndsWith(quota).findOnce(find_num);
    item.parent().child(2).click();
    let time = random(3000, 5000);
    sleep(time);
    back_try();
}

function red_packet(red_package, click_num) {
    toast('开始点击红包');
    var i = 0;
    while (true) {
        if (i >= click_num) {
            break;
        }
        press(red_package.centerX(), red_package.centerY(), random(3000, 5000));
        sleep(1000);
        textContains("继续玩").waitFor();
        sleep(1000);
        textContains("继续玩").click();
        i++;
        toast("第" + i + "次");
        click(300, 300);
    }
    toast('结束点击红包');
}

function back_try() {
    var wait_num = 0;
    while (!textContains("做任务赚翻倍豆").exists() && !textContains("赚翻倍豆").exists()) {
        if (wait_num > 10) {
            break;
        }
        if (text("再玩玩").exists()) {
            text("再玩玩").findOne().click();
        }
        if (text("拒绝").exists()) {
            text("拒绝").findOne().click();
        }
        if (text("取消").exists()) {
            text("取消").findOne().click();
        }
        if (text("取消").exists()) {
            text("取消").findOne().click();
        }
        if (textContains("授权").exists()) {
            textContains("授权").findOne().click();
        }
        back();
        sleep(1000);
        wait_num++;
    }
}

点评

这个好,我用click循环经常会出错。结合下就完美了,不太喜欢自动做任务的,自行编辑去掉  发表于 2019-12-3 07:32

免费评分

参与人数 29吾爱币 +26 热心值 +25 收起 理由
ZhaoXS666 + 1 热心回复!
654 + 1 谢谢@Thanks!
小猪CT + 1 + 1 为什么我一运行就结束。。。
hjj134 + 1 + 1 我很赞同!
bearxja + 1 + 1 我很赞同!
上进的乌龟 + 1 + 1 谢谢@Thanks!
jiangpeng59 + 1 + 1 我很赞同!
zsf79123 + 1 + 1 谢谢@Thanks!
*﹏懂嘚珍惜* + 1 + 1 失效了,可以更新一下吗
代码农民工 + 1 + 1 我很赞同!
Zacharywoo + 1 谢谢@Thanks!
shmily1147 + 1 + 1 我很赞同!
七色月光 + 1 + 1 我很赞同!
少林大虾 + 1 + 1 热心回复!
mt324 + 1 + 1 热心回复!
kaweh_sun + 1 谢谢@Thanks!
闷骚小贱男 + 2 + 1 这个好,我用click循环经常会出错。
1736809 + 1 谢谢@Thanks!
人之初性本善 + 1 一直在循环点击,返回同一个,还提示第多少次,憨得很
sunboy0628 + 1 + 1 感谢发布原创作品,请问脚本手机熄屏后可以正常运行吗?
涛蜀黍 + 1 + 1 谢谢@Thanks!
庚^溯 + 1 厉害了
去追寻那心光 + 1 + 1 谢谢@Thanks!
maozhangqing + 1 谢谢@Thanks!
我是大白菜 + 1 + 1 我很赞同!
MagicYang + 1 + 1 用心讨论,共获提升!
苏紫方璇 + 3 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
ZioneStudy + 1 谢谢@Thanks!
梦幻妖精 + 1 学习了!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

jymjymjymjym 发表于 2019-12-2 05:37
本帖最后由 jymjymjymjym 于 2019-12-2 05:40 编辑

支持一下
MagicYang 发表于 2019-12-2 09:51
本帖最后由 MagicYang 于 2019-12-2 09:53 编辑
潇未然 发表于 2019-12-2 09:43
任务总会卡在授权步骤,这个能优化自动点击授权吗,不然中间还得人工点击一下。

if (text("你那边显示的内容,如授权").exists()) {
            text("你那边显示的内容,如授权").findOne().click();
        }

你那显示什么就把引号里改成什么加到下面那段代码后面后面
if (text("取消").exists()) {
            text("取消").findOne().click();
        }

点评

牛逼,感谢!  详情 回复 发表于 2019-12-2 16:13
MagicYang 发表于 2019-12-2 01:11
膜拜大佬,大佬有推荐autojs的教程吗?想考完试系统学一下。我是开始是参考各路大佬的代码学的,零零散散
MagicYang 发表于 2019-12-2 01:39
刚才跑了一下代码还是有点问题,但是我没测出哪里问题。大佬你再看下。这个界面无限循环
S91202-01362689.png

 楼主| yzw1130 发表于 2019-12-2 02:06
MagicYang 发表于 2019-12-2 01:39
刚才跑了一下代码还是有点问题,但是我没测出哪里问题。大佬你再看下。这个界面无限循环

已改,再试试看
浮山一尘 发表于 2019-12-2 05:56
似乎有两个问题
1、无限循环:在华为手机上没问题,但是在小米手机上有这个灰色的1000按钮,然后无限循环转账生活号。
傲游截图20191202054920.jpg

2、点击红包,不管设置多少都只能点两次,华为手机和小米手机都一样。
buluo987 发表于 2019-12-2 07:58
可以看看
MagicYang 发表于 2019-12-2 08:05
yzw1130 发表于 2019-12-2 02:06
已改,再试试看

现在做完任务是没问题了。问题就在于结束不了任务。要么就是什么都不访问一直循环task_num一直在加。加了几十也不停。要么就是乱点,和我之前写的时候一样。我在想,+1000和已完成是不是属于一个大的控件,能不能通过这种双重判断来确定是否已经点过这个。但技术有限,真的不知道怎么实现了。。
H_Kali 发表于 2019-12-2 08:19
MagicYang 发表于 2019-12-2 01:11
膜拜大佬,大佬有推荐autojs的教程吗?想考完试系统学一下。我是开始是参考各路大佬的代码学的,零零散散

暑假的时候看了一些,我是跟着官网文档还有B站上一个UP主学的https://www.bilibili.com/video/av35582484?from=search&seid=4940408454761394267
MagicYang 发表于 2019-12-2 08:41
H_Kali 发表于 2019-12-2 08:19
暑假的时候看了一些,我是跟着官网文档还有B站上一个UP主学的https://www.bilibili.com/video/av35582484 ...

谢谢大佬,考完研学一下!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 21:54

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表