U校园自动刷题挂时长刷单元测试脚本代码分享

举报
始于初夏 发表于 2021/05/14 10:05:55 2021/05/14
【摘要】 一、脚本介绍:        U校园题目 、U校园班级测试答案,U校园作业答案,U校园刷时长、U校园自动填入答案、支持作业与测试、支持视听说单元测试、支持期末考试、新视野大学英语(第三版)听说、新一代大学英语(基础篇)视听说教程、U校园大学英语听说教程,新标准大学英语(第二版)综合、新视野大学英语(第三版)读写思政数字课程等。二、主要功能:       自动填入答案、支持作业与测试、支持视听...

一、脚本介绍:

        U校园题目 、U校园班级测试答案,U校园作业答案,U校园刷时长、U校园自动填入答案、支持作业与测试、支持视听说单元测试、支持期末考试、新视野大学英语(第三版)听说、新一代大学英语(基础篇)视听说教程、U校园大学英语听说教程,新标准大学英语(第二版)综合、新视野大学英语(第三版)读写思政数字课程等。

二、主要功能:

       自动填入答案、支持作业与测试、支持视听说单元测试、支持期末考试。

       脚本下载:https://wukongstudio.lanzoui.com/b01hix05a

       脚本运行界面截图:

U校园刷课脚本截图.png

三、实现原理:

      主要通过油猴脚本管理器+脚本的方式去实现。油猴脚本是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome、 Firefox等浏览器tampermonkey俗称油猴,油猴是一款免费实用且强悍的浏览器插件,它可以实现各种意想不到的功能。能够在用户浏览的页面注入 JS 代码, 定制化显示当前页面。当然了,在学习油猴脚本之前必要的前端知识:HTML/CSS/JS 等;本脚本主要是通过油猴脚本+浏览器的方式去实现U校园自动答题、挂时长等。

火狐油猴添加.png

油猴.png

四、脚本主要代码:

function initView() {
    view.top = $(
        '<div id="box" style="border-radius: 1em;position: fixed;border: 1px double rgb(0,0,0); width: 300px;  top: 30px; left: 1%; z-index: 999999; font-size: 15px; background-color: rgb(255,255,255); color: #000000;">' +
        //'<div style="height: 1px;"><button name="show" style="float:right;border-radius:0 0em 0 0;overflow:hidden;border: 1px dashed rgb(0,0,0);background-color: rgb(0,0,0);width:4px;height: 6px;margin-top: 5px;margin-right: 10px;">隐藏</button></div>'+
        '<div><button name="show" style="float:right;border-radius:0 1em 0 0;overflow:hidden;border: 0px double rgb(0,0,0);background-color: rgb(255,255,255);">隐藏</button></div>' +
        '<div style="height: 25px; margin-top: 10px; text-align: center; font-size: x-large;">Uer Help</div>' +
        '<div style="" id="div_main">' +
        '<div style="margin: 0 5px; font-size: 15px;" id="info"></div>' +
        '<hr>' +
        '<div id="answerContent" style="margin: 10px; color: orange; font-size: medium; overflow-y: auto; max-height: 400px"></div>' +
        '<hr>' +
        '<div style="margin-left: 10px;margin-top: 5px;margin-bottom: 5px;text-align: left; color: rgb(114,188,114);">积分:&nbsp<input  onfocus="this.blur()" style="border:none;width: 55px;color: rgb(114,188,114);" id="score" name="score">' +
        '<button id="showscore" name="showscore" style="float:right;margin-right: 10px;border-radius:0em;overflow:hidden;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);">刷新</button></div>' +
        '<hr>' +
        '<div><button name="showb" style="float:right;border-radius:1em;overflow:hidden;border: 0px double rgb(0,0,0);background-color: rgb(255,255,255);">隐藏</button></div>' +
        '<form style="margin: 0 5px;">' +
        '<div style="" id="div_foot">' +
        '<div style="color: red;margin-left: 70px;">参数修改后自动保存</div>' +
        '<div>' +
        '<label style="margin-left: 60px;float:center;"fo7="utoken">key(自动生成刷新即可):&nbsp&nbsp&nbsp</label>' +
        '<input disabled="true" style="width: 70%;margin-left: 40px;margin-top: 5px;" id="utoken" name="utoken" placeholder="自动生成刷新即可">' +
        '</div>' +
        '<div>' +
        '<label style="margin-left: 50px;float:left;margin-top: 5px;" for="timeout">答题延迟:&nbsp&nbsp&nbsp</label>' +
        '<input  id="timeout" name="timeout" type="number" min="500" style="margin-top: 5px;width: 55px; text-align: center;">' +
        '<label for="timeout" style="margin-right: 15px;"> 毫秒</label>' +
        '<div style="margin-top: 5px;overflow-y: auto;">' +
        //<button name="dtbutton" style="margin-right: 10px;float:right;border-radius:0em;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);">关闭普通自动答题</button>' +
        '<button name="cz" style="margin-left: 20px;float:left;border-radius:0em;overflow:hidden;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);">充值</button>' +
        '<button name="dtbutton" id="dt_but" style="margin-left: 10px;float:left;border-radius:0em;overflow:hidden;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);">关闭普通自动答题</button>' +
        '<button id="cleanlog" name="cleanlog" style="margin-left: 10px;float:left;border-radius:0em;overflow:hidden;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);">清空日志</button>'+
        '<button id="copykey" name="copykey" style="margin-top: 5px;margin-left: 20px;float:left;border-radius:0em;overflow:hidden;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);">复制KEY</button>' +
        '<button id="changekey" name="changekey" style="margin-top: 5px;margin-left: 20px;float:left;border-radius:0em;overflow:hidden;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);">修改KEY</button>' +
        '<button name="jsindex" style="margin-top: 5px;margin-left: 20px;float:left;border-radius:0em;overflow:hidden;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);">脚本主页</button>' +
        '<button name="timebutton" id="time_but" style="margin-left: 10px;float:left;border-radius:0em;overflow:hidden;border: 1px double rgb(0,0,0);background-color: rgb(255,255,255);margin-top: 3px;">开启时长挂机</button>' +
        '</div>' +
        '</form><br>' +
        //<a style="text-align: center;" href=\"\" target="_blank\">[脚本主页]</a>
        '<hr>' +
        '<div id="answer_log" style="margin-left: 5px; max-height: 300px; overflow-y: auto;"></div>' +
        '</div>' +
        '</div>'
    );
    view.answerView = view.top.find('#answerContent');
    view.info = view.top.find('#info');
    view.div_main = view.top.find('#div_main');
    view.showb = view.top.find('#div_foot');
    view.top.appendTo('body').delegate('input', 'input change', function (event) {
        if (this.value.match(/^\*+$/)) return;
        let name = $(this).attr('name');
        GM_setValue(name, this.value);
        setting[name] = this.value;
        console.log("修改完毕", GM_getValue(name, this.value), event.type)
        getscore();
        if (event.type == 'change') msg('配置保存成功,即时生效');
    }).delegate('[name=utoken]', 'focus blur', function (event) {
        $('#utoken').val('');
        this.value = setting.utoken.replace(/(\S)/g, event.type == 'focusin' ? '$1' : '*');
    }).delegate('button', 'click', function (e) {
        e.stopImmediatePropagation();
        e.stopPropagation();
        e.preventDefault();
        let name = $(this).attr('name');
        if (name == 'cleanlog'){
            $('#answer_log').html('');
            layer.tips('清除完毕', '#cleanlog');
        }
        if (name == 'show') {
            setting.show = GM_getValue('show');
            $(this).html(setting.show ? '隐藏' : '显示');
            setting.show ? GM_setValue('show', 0) : GM_setValue('show', 1);
            view.answerView.slideToggle();
            view.showb.slideToggle();
        }
        if (name == 'showb') {
            setting.show = GM_getValue('showb');
            $(this).html(setting.show ? '隐藏' : '显示');
            setting.show ? GM_setValue('showb', 0) : GM_setValue('showb', 1);
            view.showb.slideToggle();
        }

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。