js自动填写问卷星
Posted eyes++
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
)();
多开几个窗一起运行,还蛮快的
以上是关于js自动填写问卷星的主要内容,如果未能解决你的问题,请参考以下文章
还在为写调查问卷发愁的你赶快来看看这个自动填写问卷(问卷星版)