Greasy Fork

Greasy Fork is available in English.

randomFor xz.chsi.com

自动化操作,提高效率

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name                 randomFor xz.chsi.com
// @name:zh-CN           randomFor xz.chsi.com
// @name:zh-TW           randomFor xz.chsi.com
// @name:pt-BR           randomFor xz.chsi.com
// @name:ru              randomFor xz.chsi.com
// @match        *://xz.chsi.com.cn/cp/*
// @author               AyachiNene
// @description          自动化操作,提高效率
// @description:zh-CN    自动化操作,提高效率
// @description:zh-TW    自动化操作,提高效率
// @description:pt-BR    自动化操作,提高效率
// @description:ru       自动化操作,提高效率
// @version              2023.12.5.5
// @icon                 http://ayachinene.top:11080/assets/favicon.8f3ef3de.ico
// @namespace            http://ayachinene.top:10721
// @homepage             http://ayachinene.top:10721
// @run-at               document-body
// ==/UserScript==
document.addEventListener('DOMContentLoaded', function () {
    'use strict';
    const cardDesElement = document.querySelector('.bg-white');
    function showMessage(message) {
        let messageElement = document.createElement('div');
        messageElement.innerText = message;
        messageElement.style.position = 'fixed';
        messageElement.style.top = '100px';
        messageElement.style.left = '50%';
        messageElement.style.transform = 'translateX(-50%)';
        messageElement.style.padding = '10px';
        messageElement.style.backgroundColor = '#fff';
        messageElement.style.border = '1px solid #ccc';
        messageElement.style.zIndex = '9999';
        messageElement.style.color = 'red';
        document.body.appendChild(messageElement);

        setTimeout(function () {
            messageElement.remove();
        }, 3000);
    }
    function giveNewClassName() {
        var tbodyElements = document.querySelectorAll('tbody');
        for (let i = 0; i < tbodyElements.length; i++) {
            let trElements = tbodyElements[i].querySelectorAll('tr');
            for (let j = 0; j < trElements.length; j++) {
                trElements[j].classList.add('opxuanze');
            }
        }
    }

    function randomSelectMain() {
        giveNewClassName();
        let trElements = document.querySelectorAll('.opxuanze');
        for (let lm = 0; lm < trElements.length; lm++) {
            let iElements = trElements[lm].querySelectorAll('.ivu-icon');
            if (iElements.length > 0) {
                let randomIndex = Math.floor(Math.random() * iElements.length);
                iElements[randomIndex].className = "ivu-icon ivu-icon-md-radio-button-on";
                iElements[randomIndex].click();
            }
        }
    }

    function randomSelectEmoji() {
        giveNewClassName();
        let trElements = document.querySelectorAll('.opxuanze');
        for (let i = 0; i < trElements.length; i++) {
            trElements[i].classList.remove('opxuanze');
        }

        for (let lm = 0; lm < trElements.length; lm++) {
            let iElements = trElements[lm].querySelectorAll('.emoji');

            if (iElements.length > 0) {
                let randomIndex = Math.floor(Math.random() * iElements.length);
                iElements[randomIndex].click();
            }
        }
    }

    function randomSelectCheckboxes() {
        let checkboxes = document.querySelectorAll('.ivu-checkbox-input');
        if (checkboxes.length === 0) {
            console.warn('没有找到复选框');
            return;
        }

        checkboxes[Math.floor(Math.random() * checkboxes.length)].click();

        var randomCount = Math.max(Math.floor(Math.random() * (checkboxes.length - 1)), 0);

        for (var i = 0; i < randomCount; i++) {
            var uncheckedCheckboxes = Array.from(checkboxes).filter(checkbox => !checkbox.checked);

            if (uncheckedCheckboxes.length > 0) {
                var randomIndex = Math.floor(Math.random() * uncheckedCheckboxes.length);
                uncheckedCheckboxes[randomIndex].click();
            } else {
                console.warn('没有更多未选中的复选框');
                break;
            }
        }
    }

    function radioRadomGet() {
        let pageOpt = document.getElementsByClassName('page-option')
        for (let i = 0; i < pageOpt.length; i++) {
            let ivuRadioInputs = pageOpt[i].getElementsByClassName('ivu-radio-input');

            if (ivuRadioInputs.length > 0) {
                let randomIndex = Math.floor(Math.random() * ivuRadioInputs.length);
                ivuRadioInputs[randomIndex].click();
            } else {
                console.warn('在 pageOpt 元素中没有找到 ivu-radio-input 元素。');
            }
        }

    }


    function initializeScript() {
        if (!cardDesElement) {
            console.error('Unable to find element with class "bg-white". Exiting script.');
            return;
        }

        let selectBtn = document.createElement('button');
        selectBtn.className = 'rbForAzs';
        selectBtn.innerText = '表格Radio';
        cardDesElement.appendChild(selectBtn);

        let emojiBtn = document.createElement('button');
        emojiBtn.className = 'emojiBtn';
        emojiBtn.innerText = '笑脸哭脸';
        cardDesElement.appendChild(emojiBtn);

        let radioBtn = document.createElement('button');
        radioBtn.className = 'radioBtn';
        radioBtn.innerText = '单选题';
        cardDesElement.appendChild(radioBtn);

        let chickBoxRandom = document.createElement('button');
        chickBoxRandom.className = 'chickBoxRandom';
        chickBoxRandom.innerText = '复选框选择';
        cardDesElement.appendChild(chickBoxRandom);
        let randomBtnElementMain = document.querySelector('.rbForAzs');
        randomBtnElementMain.addEventListener('click', function () {
            randomSelectMain();
        });
        let randomBtnElementRadio = document.querySelector('.radioBtn');
        randomBtnElementRadio.addEventListener('click', function () {
            radioRadomGet();
        });

        let randomBtnElementEmoji = document.querySelector('.emojiBtn');
        randomBtnElementEmoji.addEventListener('click', function () {
            randomSelectEmoji();
        });

        let chickBoxBtn = document.querySelector('.chickBoxRandom');
        chickBoxBtn.addEventListener('click', function () {
            randomSelectCheckboxes();
        })

    }



    initializeScript();
    showMessage('如果出现圆形单选框 请重复点击直到出现提交按钮,复选框选择功能还有点问题如果没有选择请多点几次');
});