搜索
缓存时间07 现在时间07 缓存数据 有些束缚,是我们自找的;有些压力,是我们自给的;有些痛苦,是我们自愿的。没有如影相随的不幸,只有死不放手的执着。早上好!
查看: 225|回复: 4

AkileCloud黑色星期五辅助脚本

[复制链接]
发表于 2024-11-23 00:20:26 | 显示全部楼层 |阅读模式

马上注册,免受广告困扰,轻松兑换eSIM!

您需要 登录 才可以下载或查看,没有账号?注册

×


我已上岸,送给大家!

注:该脚本没有代抢功能,只是辅助选择复选框和兑换优惠卷功能。

黑五活动地址:https://akile.io/shop/server?typ ... blackfriday-bbbbbbb
注意,上面的链接只是过去的页面,测试用,每天都不一样,自己去群里等6B放新链接
Akile官方交流群:https://t.me/akileChat
// ==UserScript==
// @name         自动选择 AkileCloud 优惠券+勾选协议(支持兑换功能)
// @namespace    toalan
// @version      1.5
// @description  自动展开优惠券下拉框、支持兑换码功能并选择第一个优惠券
// @author       Alan
// @match        https://akile.io/*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    // 等待指定元素加载
    const waitForElement = (selector, timeout = 10000) => {
        return new Promise((resolve, reject) => {
            const interval = 500; // 检测间隔
            let elapsed = 0;

            const check = setInterval(() => {
                const element = document.querySelector(selector);
                if (element) {
                    clearInterval(check);
                    resolve(element);
                } else if (elapsed >= timeout) {
                    clearInterval(check);
                    reject(`元素 ${selector} 超时未加载`);
                } else {
                    elapsed += interval;
                }
            }, interval);
        });
    };

    // 自动输入兑换码并兑换
    const redeemCode = async () => {
        try {
            console.log("正在检查是否需要兑换优惠券...");

            // 等待兑换码输入框和按钮
            const inputField = await waitForElement('.activity-card input.arco-input');
            const redeemButton = await waitForElement('.activity-card button');

            console.log("找到兑换码输入框和按钮,开始输入兑换码...");
            inputField.value = '2024BlackFriday';

            // 触发输入框更新事件
            const inputEvent = new Event('input', { bubbles: true });
            inputField.dispatchEvent(inputEvent);

            console.log("点击立即兑换按钮...");
            redeemButton.click();

            // 等待兑换完成
            await new Promise(resolve => setTimeout(resolve, 2000)); // 等待 2 秒
            console.log("兑换完成,准备重新选择优惠券...");
        } catch (error) {
            console.error("兑换优惠券失败:", error);
        }
    };

    // 自动选择优惠券
    const autoSelectCoupon = async () => {
        try {
            console.log("正在等待优惠券下拉框...");
            const dropdown = await waitForElement('.arco-select-view-single');

            console.log("找到优惠券下拉框,模拟点击展开...");
            dropdown.click(); // 展开下拉框

            console.log("等待优惠券选项加载...");
            const optionsList = await waitForElement('.arco-select-dropdown-list');

            const firstOption = optionsList.querySelector('li');
            if (firstOption) {
                console.log("找到优惠券,选择第一个优惠券...");
                firstOption.click();
            } else {
                console.log("没有优惠券,尝试兑换...");
                await redeemCode(); // 执行兑换逻辑
                console.log("重新尝试选择优惠券...");
                await autoSelectCoupon(); // 再次尝试选择优惠券
            }
        } catch (error) {
            console.error("自动选择优惠券失败:", error);
        }
    };

    //自动勾选协议
    'use strict';

    // 轮询间隔(毫秒)
    const interval = 500;
    // 最大等待时间(毫秒)
    const maxWaitTime = 10000;
    let elapsedTime = 0;

    // 勾选所有复选框
    const checkAllCheckboxes = () => {
        // 查找所有复选框
        const checkboxes = document.querySelectorAll('.arco-checkbox-target');
        checkboxes.forEach(checkbox => {
            if (!checkbox.checked) {
                checkbox.checked = true; // 勾选复选框
                const event = new Event('change', { bubbles: true }); // 创建 change 事件
                checkbox.dispatchEvent(event); // 触发事件
                console.log('已勾选复选框');
            }
        });
    };

    // 等待复选框加载并勾选
    const waitForCheckboxes = () => {
        const checkboxes = document.querySelectorAll('.arco-checkbox-target');
        if (checkboxes.length > 0 || elapsedTime >= maxWaitTime) {
            if (checkboxes.length > 0) {
                checkAllCheckboxes(); // 如果找到了复选框,进行勾选
            } else {
                console.warn('未找到复选框,脚本停止运行');
            }
            clearInterval(timer);
        } else {
            elapsedTime += interval;
        }
    };

    // 开始轮询
    const timer = setInterval(waitForCheckboxes, interval);


    // 页面加载后执行
    window.addEventListener('load', () => {
        console.log("页面加载完成,尝试自动选择优惠券...");
        autoSelectCoupon();
    });

    //吐槽放货时间不稳定,有缘人才能抢到

})();
爱生活,爱奶昔~
发表于 2024-11-24 03:51:52 来自手机 | 显示全部楼层
牛逼了牛逼了
爱生活,爱奶昔~
回复 支持 反对

使用道具 举报

发表于 2024-11-24 15:13:06 | 显示全部楼层
emm,照样抢不到
爱生活,爱奶昔~
回复 支持 反对

使用道具 举报

发表于 2024-11-25 15:31:00 来自手机 | 显示全部楼层
29号周五,加油。
爱生活,爱奶昔~
回复 支持 反对

使用道具 举报

发表于 2024-11-27 03:55:56 | 显示全部楼层
爱生活,爱奶昔~
爱生活,爱奶昔~
回复 支持 反对

使用道具 举报

Powered by Nyarime. Licensed

GMT+8, 2024-12-23 07:55 , Processed in 0.020920 second(s), 10 queries , Gzip On, Redis On
发帖际遇 ·手机版 ·小黑屋 ·RSS ·奶昔网

登录切换风格
快速回复 返回顶部 返回列表