// ==UserScript== // @name 腾讯问卷随机答题2022-8-12 // @namespace http://tampermonkey.net/ // @version 1.0 // @description 腾讯问卷随机答题,支持单选,填空,量表,交流群1027881795,有什么问题进群交流,测试链接https://wj.qq.com/s2/9951609/1e2d/ // @author 阿丁 // @license at // @include https://wj.qq.com/* // @downloadURL none // ==/UserScript== (function() { 'use strict'; //支持多选和单选,量表 //===========================开始============================== clearCookie(); var lists =document.querySelectorAll('.question-body') var many=0; var ops; var bili; var temp_flag; var question =document.querySelectorAll('.question-list section') try{ } catch(err){ } function randint(min, max) { return Math.floor(Math.random() * (max - min + 1) + min); } function choose(){ question =document.querySelectorAll('.question-list section') this.aa=function(i){ var radio=question[i].querySelectorAll('.radio-box') var qq=randint(0, radio.length - 1) radio[qq].click(); } this.bb=function(i){ var list =question[i].querySelectorAll('.check-box') var ar = new Array(list.length).fill(0) ar=ar.map((v,i)=>i+1).sort(()=>0.5 - Math.random()) //list.length-1不选最后一项 var times = randint(2,3); // 多选题选择数量,一般不小于3 for (var p = 0; p < times; p++) { list[ar[p]-1].click(); } } this.cc=function(i){ var checkbtn=question[i].querySelectorAll('.checkbtn-txt') checkbtn[randint(0, checkbtn.length - 1)].click(); } this.dd=function(i){ //var check=question[i].querySelectorAll('.check-box') } this.ee=function(i){ var matrix_radio=question[i].querySelectorAll('tbody tr') for (var p = 0; p < matrix_radio.length; p++) { var matrix_=matrix_radio[p].querySelectorAll('span.ui-radio') matrix_radio[p].querySelectorAll('span.ui-radio')[randint(0, matrix_.length - 1)].click() } } this.ff=function(i){ var matrix_radio=question[i].querySelectorAll('.checkbtn-group') for (var p = 0; p < matrix_radio.length; p++) { var matrix_=matrix_radio[p].querySelectorAll('div label span') matrix_radio[p].querySelectorAll('div label span')[randint(0, matrix_.length - 1)].click() } } } setTimeout( function(){document.querySelectorAll('button span')[1].click()}, 2 * 1000 ); setTimeout( function(){ var question =document.querySelectorAll('.question-list section') var qw=new choose for (var i = 0; i < question.length; i++) { //单选 if (question[i].className=='question question-type-radio') { var input = question[i].querySelectorAll('.radio-box'); qw.aa(i) console.log("单选", i); //多选 } else if (question[i].className=='question question-type-checkbox') { question[i].querySelectorAll('.check-box') qw.bb(i) console.log("多选", i); } //长方体单选 else if (question[i].className=='question question-type-star') { question[i].querySelectorAll('.checkbtn-txt') qw.cc(i) console.log("长方体单选", i); } //填空 else if (question[i].className=='question question-type-textarea') { console.log("填空", i); //表格量表 } else if (question[i].className=='question question-type-matrix_radio') { qw.ee(i) console.log("表格量表", i); //长方形表格量表 } else if (question[i].className=='question question-type-matrix_star') { qw.ff(i) console.log("长方形表格量表", i); //排序题 } else if (question[i].className=='question question-type-sort') { console.log("排序题", i); } } }, 3 * 1000 ); function randomBili(num){ let a = Math.floor(100/num); let yu = 100 - a*num; let list = []; for(let i=0;i=start && num<=end){ return true; }else{ return false; } } //单选题执行函数 function danxuan(bili){ var pp = randomNum(1,100) for(var i=1;i<=bili.length;i++){ var start = 0; if(i!=1){ start = leijia(bili,i-1) } var end = leijia(bili,i); if(isInRange(pp,start,end)){ return i-1; break; } } } //多选题执行函数 function duoxuan(probability){ var flag = false; var i = randomNum(1,100); if(isInRange(i,1,probability)){ flag = true; } return flag; } //清楚cookie function clearCookie() { var keys = document.cookie.match(/[^ =;]+(?=\=)/g); if (keys) { for (var i = keys.length; i--;) { document.cookie = keys[i] + '=0;path=/;expires=' + new Date(0).toUTCString();//清除当前域名下的,例如:m.kevis.com document.cookie = keys[i] + '=0;path=/;domain=' + document.domain + ';expires=' + new Date(0).toUTCString();//清除当前域名下的,例如 .m.kevis.com document.cookie = keys[i] + '=0;path=/;domain=kevis.com;expires=' + new Date(0).toUTCString();//清除一级域名下的或指定的,例如 .kevis.com } } } })();