js自动填写问卷星

偶然发现问卷星的填写不需要身份验证,就萌生了一个念头,就是用脚本自动填写问卷星,以下代码不具有普遍性,因此我没有在油猴脚本上发布,当然稍微改一改还是能用的。

// ==UserScript==
// @name         刷问卷星问卷
// @namespace    https://eyesblog.gitee.io
// @version      1.0.0
// @author       eyes++
// @match        *://*/*
// @require      https://cdn.staticfile.org/jquery/3.5.0/jquery.min.js
// @grant        none
// ==/UserScript==

(function () {
    'use strict';

    function sub() {
        $.each($(".ulradiocheck"), function (i, v) {
            if (i == 0) {
                // 第一项为性别填写,设置为选项一(男)70%,选项二(女)30%
                let n = Math.floor(Math.random() + 0.3);
                v.getElementsByTagName("li")[n].click();
            } else if (i == 1) {
                // 第二项为年级填写,设置第一项和第二项35%,其他3项各10%
                let n = Math.random();
                if (n <= 0.35) v.getElementsByTagName("li")[0].click();
                else if (n > 0.35 && n <= 0.7) v.getElementsByTagName("li")[1].click();
                else if (n > 0.7 && n <= 0.8) v.getElementsByTagName("li")[2].click();
                else if (n > 0.8 && n <= 0.9) v.getElementsByTagName("li")[3].click();
                else v.getElementsByTagName("li")[4].click();
            } else {
                // 其他选项随机概率填写
                let n = Math.random();
                let l = v.getElementsByTagName("li").length;
                v.getElementsByTagName("li")[Math.floor(l * n)].click();
            }
        })

        // 滑块验证躲不过,就设置页面自动划到底部,方便手动拖动滑块验证
        let h = document.body.clientHeight;
        window.scroll({
            top: h,
            left: 0,
            behavior: "smooth"
        });

        // 自动点击验证弹窗
        setTimeout(function () {
            $(".mainBgColor").click();
        }, 500)
        // 点击提交
        $("#submit_button").click();
        // 点击验证按钮
        setTimeout(function () {
            $("#SM_TXT_1").click();
        }, 1000)
    }

    // 判断当前页面是否为问卷页面
    function getlocation() {
        let loc = location.href;
        let reg = /vj\/Ya7H6ad/g;  // 问卷链接正则
        setTimeout(function () {
            if (reg.test(loc)) sub();
            else window.location.href = "https://www.wjx.cn/vg/Ya7H6ad.aspx";  // 问卷链接
        }, 900);
    }

    getlocation();
})();

多开几个窗一起运行,还蛮快的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值