zoukankan      html  css  js  c++  java
  • 【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();
        });
    })();
    

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

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

    喵帕斯!

  • 相关阅读:
    报错处理——TypeError: Dog() takes no arguments
    python笔记——爬虫练习
    python笔记——爬虫原理
    Numpy入门练习
    python学习资源
    python笔记——函数的参数(位置参数、默认参数、可变参数、关键字参数、命名关键字参数、参数组合)
    Spyder快捷键
    python笔记——常用的内置函数
    python笔记——dict和set
    python笔记——for和while循环、if条件判断、input输入
  • 原文地址:https://www.cnblogs.com/silentEAG/p/12307164.html
Copyright © 2011-2022 走看看