SC-MY限定让填写问卷星成为自动化!

Posted silenteag

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SC-MY限定让填写问卷星成为自动化!相关的知识,希望对你有一定的参考价值。

碎碎念

好久没更新了噢,,,,

最近SC-MY教育厅为了更好地为人民服务,在问卷星上弄了个问卷(这个措施确实挺不错的)。

但很多时候我们需要填写的内容每天都一样。。。那么有没有法自动填写呢TAT?

有!轮子已经造好了~ dalao

然后我就把这个改成了适应本问卷的脚本QwQ。从打开网页到提交不会超过2s(除非你网卡。。)。

配置与使用

配置

本脚本依靠油猴等浏览器插件

PC端

  1. chrome浏览器配置油猴,参看原作者博客
  2. Firefox浏览器配置油猴,这里
  3. QQ浏览器配置油猴,这里
  4. 其他类型浏览器,,,,不建议使用QAQ

安卓端

  1. Firefox浏览器配置油猴,与PC端差不多。

建议:在PC端上运行脚本。

使用

点击油猴,再点击添加新脚本,复制下面代码丢过去~

// ==UserScript==
// @name         问卷星测试——支持input radio checkbox
// @version      1.1
// @description  测试
// @author       蛋片鸡
// @match        https://www.wjx.cn/jq/55370924.aspx
// @match        https://www.wjx.top/jq/55370924.aspx
// @grant        none
// @require      https://code.jquery.com/jquery-3.4.1.min.js
// ==/UserScript==


/*
!First!:原作者不是我QAQ,原作者链接:https://www.cnblogs.com/FHC1994/p/11721723.html ,我只是修改了一下填写内容以适应本次问卷。。。
Second:喵帕斯:
 1.本脚本的初衷是简化大家填写的方式,禁止使用此脚本频繁提交。
 2.请确保所填数据的真实性,为打赢防疫战贡献自己的一份力量!
Third:正确的食用方法。
 1.确保浏览器脚本插件(如油猴)正确运行,并点击添加新脚本,把本段代码全部复制进去。
 2.按提示填写好需要自动填写的内容。
 3.保存脚本。
 4.打开https://www.wjx.cn/jq/55370924.aspx,你会发现内容已自动填上。
 5.确认信息无误后点击提交按钮。(如果连提交按钮也不想按,请翻到代码最下面TAT)
 6.记得每天15:00之前填一次~
 7.如使用中有问题欢迎在博客中留言~ https://www.cnblogs.com/silentEAG/p/12307164.html。

                                                 -----Changed by SilentE
 PS:本脚本仅在 https://www.wjx.cn/jq/55370924.aspx 或 https://www.wjx.top/jq/55370924.aspx 下自动运行,无需担心隐私风险。
*/

(function() {
    'use strict';
    var opt, s2;
    //温度生成,在36.5与36.9之间随机生成。
    var a = "36." + Math.floor(Math.random()*5 + 5).toString();
    //获取今天的日期并处理成正确的格式
    var day = new Date();
    day.setTime(day.getTime());
    if(String(day.getMonth()).length < 2) s2 = "0" + (day.getMonth() + 1).toString();
    else s2 = (day.getMonth() + 1).toString();
    var s = day.getFullYear()+"-" + s2 + "-" + day.getDate();
    //自定义内容,请从上到下确认一遍。
    const info=[
        ["把我改成姓名",/(姓名)/],
        ["把我改成身份证号码",/(身份证号码)/],
        ["学校",/(学校(单位)名称)/,/^绵阳南山中学$/],//这个不用改。。
        ["把我改成班级",/(年级班级)/],
        ["把我改成家庭详细住址",/(家庭详细住址)/],
        ["把我改成联系电话",/(联系电话)/],
        ["无",/(叙述往返武汉)/],//这个不用改。。
        [a,/(今日学生体温)/],//这个不用改。。
        ["",/(现身体状况)/,/(健康)/],//默认健康
        ["",/(症状情况)/,/(无症状)/],//默认无症状
        ["",/(家庭成员)/,/(正常)/],//默认正常
        ["",/(假期是否前往)/,/(否)/],//默认否
        ["",/(是否接触)/,/(否)/],//默认否
        [s,/(填报时间)/],//这个不用改。。
    ];
    //后面的东西就不用看啦!
    const ini={
        module:".div_question",
        title:".div_title_question",
        type:{
           "input_text":".inputtext",
           "radio":".ulradiocheck",
           "checkbox":".ulradiocheck"
        }
    };
    $(document).ready(function(){
        let itemNum = 0;
        $(ini.module).each(function(){
            itemNum += 1;
            let title=$(this).find(ini.title).text();
            //判断类别
            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":
                               case "checkbox":
                                   $(this).find("li").each(function(){
                                       if(info[i].length>=3&&info[i][2].test($(this).text())){
                                           $(this).find("a").click();
                                       }
                                   });
                                   break;
                               default:console.log("ini.type中没有匹配"+tp+"的键值");
                           }
                           break;
                       }
                   }
                    break;
                }
            }
        });
        /*去掉下行代码中前面的//即可实现自动提交*/
        //$('.submitbutton').click();
    });
})();

然后按代码注释内容修改,保存完成!

每天点问卷网址,脚本自动填写,只需按下提交键~

喵帕斯!

以上是关于SC-MY限定让填写问卷星成为自动化!的主要内容,如果未能解决你的问题,请参考以下文章

python自动填写问卷星问卷及提交

js自动填写问卷星

还在为写调查问卷发愁的你赶快来看看这个自动填写问卷(问卷星版)

python实现问卷星自动填写(可以跳过智能验证)

问卷星问卷开始前能不能设置同意和不同意,点击不同意的话就直接退出?

通过Python实现自动填写调查问卷