参考链接地址:https://www.cnblogs.com/FHC1994/p/11721723.html
(过程需要翻墙,问卷星链接需要在浏览器打开,在微信直接打开的链接本脚本无法使用)
①安装脚本:
油侯脚本是一款免费的浏览器扩展和最为流行的用户脚本管理器,增强了用户对浏览体验的控制权。油侯脚本下载地址:http://www.tampermonkey.net/
②点击图片中红框位置按钮(因为我已经下载了,所以显示的是已安装)
③拉到页面最下方,点击添加至Chrome按钮
④添加完成后,在Chrome浏览器的右上方有下图所示按钮,点击之后,选择添加新脚本
⑤复制如下代码至“添加新脚本”页面内
// ==UserScript==
// @name 问卷星测试——支持input radio checkbox
// @version 1.1
// @description 测试
// @author 蛋片鸡
// @match https://www.wjx.top/*
// @match https://www.wjx.cn/*
// @grant none
// @require https://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==
/*
**info 第一个参数:对应的填入选项(字符串)
**info 第二个参数:匹配的标题(正则表达式)
**info 第三个参数:(可选),当答题框为单选|多选时匹配的选项(正则表达式)
*/
(function() {
'use strict';
const info=[
["蛋片鸡",/(姓名)|(名字)/],
["单选框_年级",/(年级)/,/(18级)/],
["18711111",/(学号)/],
["11011001100",/(联系方式)|(电话)|(手机)|(手机号)/],
["多选框_你好呀",/(你好呀)/,/(开始)|(中间)|(结束)/]
];
const ini={
module:".field.ui-field-contain",//每个问题模块
title:".field-label",//标题
type:{ //key对应别名,value对应html的节点
"input_text":".ui-input-text",
"radio":".ui-radio",
"checkbox":".ui-checkbox"
}
};
$(document).ready(function(){
let itemNum = 0;
$(ini.module).each(function(){
itemNum += 1;
let title=$(this).find(ini.title).text();
console.log("each循环" + itemNum);
//判断类别
let count = 0 ;
for(let i=0;i<info.length;i++){//匹配用户信息
if(info[i][1].test(title)){//匹配到一处信息,判断答题框类型,加break!
for(let tp in ini.type){
let dom=$(this).find(ini.type[tp]);
if(dom.length>0){
switch(tp){
case "input_text":
$("#q"+itemNum)[0].value = info[i][0]; //赋值
break;
case "radio":
$(this).find(".ui-radio").each(function(){
if(info[i].length>=3&&info[i][2].test($(this).text())){
var id=$(this).find('input').attr('id');
$("#"+id).prop("checked",true);
}
});
break;
case "checkbox":
$(this).find(".ui-checkbox").each(function(){
console.log("outsidebox" + count);
if(info[i].length>=3&&info[i][2].test($(this).text())){
var id=$(this).find('input').attr('id');
$("#"+id).prop("checked",true);
}
});
break;
default:console.log("ini.type中没有匹配"+tp+"的键值");
}
break;
}
}
break;
}
}
});
//$("#ctlNext")[0].click();
});
})();
⑥在“添加至新脚本”页面中,点击左上角的保存按钮
⑦打开问卷星地址,已经实现根据设定的答案,自动填写。
⑧额外说明:
a、因为本人对js不太熟悉,所以有个问题要说明。当我们刷新页面的时候,发现填空题填写了,但是单选和多选是没有选上的,其实在js脚本里面,代码里是已经选上对应的选项了的,只不过不知道样式怎么不显示。(可以通过创建和我一样问题的问卷,然后做一下这份问卷,再提交问卷,最后到问卷后台查看提交的记录中是否有单选和多选记录即可)
b、因为本js脚本是根据问卷星页面源代码进行编写的,有时候问卷星修改了html节点的命名,就需要去修改本例对应的节点名称,这边附上本例测试时间,问卷星的源代码和问卷星的链接地址(https://www.wjx.cn/m/49588636.aspx),供大家参考对照,修改节点名称。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xht