AiWork判断某个领红包金币的任务进度是否已经完成

业务需求

file

图中有个已完成的进度。数字每天都不一样,怎么判断100%完成呢?

实现思路

可以使用正则表达式来匹配并提取字符串中的数字,然后比较这两个数字是否相等。

/**
 * @author 飞云
 * @wechat imfeiyun
 * @link  http://www.feiyunjs.com
 */

// 进度字符串
const progressStr = "已完成4/4";

// 使用正则表达式匹配数字
const matches = progressStr.match(/\d+/g);

// 提取两个数字
const [firstNumber, secondNumber] = matches.map(Number);

// 判断两个数字是否相等
if (firstNumber === secondNumber) {
    console.log('两个数字相等');
} else {
    console.log('两个数字不相等');
}

在这个代码中,\d+ 是一个正则表达式,用于匹配一个或多个数字。
match 方法返回一个包含所有匹配结果的数组。
然后我们使用 map 方法将这些匹配的字符串转换为数字类型,最后进行比较。如果两个数字相等,会输出 "两个数字相等",否则输出 "两个数字不相等"。

生产场景应用

来看一段表链式的生产代码:

[
{
    remarks: "看直播领金币页面",
    text: [
        '看直播领金币',
    ],
    textSim: 0.8,
    textRect: [0, 0, 1.00000, 0.23698],
    action: function () {
        // 判断当天的直播是否已经看完
        let str = ocrFindEx(screen.MLKitOcr('zh', 1), [
            /.*已完(成|戌).*/,
        ], true, 1 * 1000, [0.01852, 0.08333, 0.49537, 0.26172], 0.8)
        // console.log(JSON.stringify(str))

        if (str) {
            // 进度字符串
            const progressStr = str['text'];

            // 使用正则表达式匹配数字
            const matches = progressStr.match(/\d+/g);

            // 提取两个数字
            const [firstNumber, secondNumber] = matches.map(Number);

            // 判断两个数字是否相等
            if (firstNumber === secondNumber) {
                console.log('当天的直播已经看完');
                localData['watchLiveNum'] = localData['watchLiveLimitNum']
                hid.back();

                return;
            } else {
                // console.log('两个数字不相等');
            }

        }

        hid.swip(screenWidth / 2, screenHeight * 0.3, screenWidth / 2, screenHeight * 0.8, 3, 0.01, 1000)
        hid.mouseUp();

        sleep.millisecond(6 * 1000)
    },
    children: [
        {
            remarks: "任务:进入直播间",
            text: [
                /.*直播中/,
                '直播中',
            ],
            textSim: 0.8,
            textRect: [0.02083, 0.10547, 0.98611, 0.69922],
            click: true,
            delay: 3 * 1000,
            counter: ['watchLiveNum'],
            countdown: random(40, 60),
            isBack: true,
        },
    ]
},
]

先判断直播是否看完。
看完了,就使用HID进行返回;
没看完,就下拉刷新页面的直播列表,进入直播间看一段时间的直播,看完就执行返回。

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » AiWork判断某个领红包金币的任务进度是否已经完成

企业级大数据智能营销管理系统

了解详情