挂海论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
 友情提示:文字/图片广告均非网站意见,请担保交易勿直接付款,由此产生的责任自负
游戏交易就上寄售网-专注稳定-诚信赢天下玩游戏来117游戏网(H5不下载也能玩手游传奇,吃鸡,竞技都有)天下盾/国内/免实名/免备案CDN无视一切CC/DD攻击
→入驻S9企业发卡网各种全黑号辅助群:475351077 ██【我要租此广告位】██.
.. .
查看: 1530|回复: 0
打印 上一主题 下一主题

JS 实现正方教务系统一键评教

[复制链接]
3正式会员
282/300

282

积分

82

主题

6

听众
已帮网友解决0 个问题
好评
0
贡献
200
海币
523
交易币
0
跳转到指定楼层
楼主
发表于 2017-6-10 11:46:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提醒:若下载的软件是收费的"请不要付款",可能是骗子,请立即联系本站举报,执意要付款被骗后本站概不负责。(任何交易请走第三方中介,请勿直接付款交易以免被骗!切记).

友情提示:文字/图片广告均非本站意见,请担保交易勿直接付款,由此产生的责任自负!!!↑↑


JS 实现正方教务系统一键评教
烦透的正方,非得找麻烦。
忽然想到一位破解界长辈说过的,许多时候,破解是为了抵抗那些废物商品司理规划的废物需求,如今深有同感
评教有什么用?集体评这个教师欠好就能不给他教了吗?不,还是相同,该如何就如何,存在的仅有理由,即是为了给领导看

初衷
本教程并不是为了破解而破解,朴实归于最近心境欠好,正方恰巧撞枪口罢了,曾经直接运用火狐评教,直接运用 tab 键切换到下一个下拉框,能够节约许多时刻,而且不简单被查出来,而最近挺烦躁的,所以也不想再这么搞下去了,故编写了一个脚本用于一键评教

原理
本来有两种办法:第一种即是改包发包到服务器,直接越过正方的评教界面,可是简单被查出来,而且数据包修正欠好修正,一个欠好简单被发现,而且不适合零根底的人群运用,故暂且不提
第二种便是模仿人为操作的进程,原理本来很简单,稍微剖析一下,评教需要做的,即是修正下拉框的值,然后点击一个按钮,循环这个进程,直到所有的课程评教完结即可,那么首先要处理的是评教次数的疑问,在正方的评教体系中有一个下拉框是用于显现评教触及的课程的,包含了评教的和未评教的,故而能够运用 JS 脚本直接获取这个下拉框的下拉选项数,作为循环次数,也即是:

[PHP] 纯文本查看 复制代码
var li = document.querySelectorAll("ul.nav>li.top")[3].querySelectorAll("ul.sub>li").length;

这句句子即是获取循环次数,也即是课程数的,每次循环的时分将 li 减一即可接下来是获取评教中每个课程的所有的下拉框,本来认为会是 AJAX,那样就比较复杂了,没想到是 iframe 窗体,简单多了,只需要编写一套运用每个课程评教界面的 DOM 操作就行了,直接上代码好了

[PHP] 纯文本查看 复制代码
// 获取课程所有的下拉框
var selects = iframe.contentDocument.querySelectorAll('table.datelist>tbody>tr>td>select');
// 将下拉框的 Index 全部置为 1 也就是评价为 B
for (var i = 0; i < selects.length; i++) {
    // 索引为 1 表示为 B,可选值为:0: A,1: B,2: C,3: D...具体看教务系统给多少个等级
    selects.selectedIndex = 1
}
// 取一个随机数 index,第 index 个下拉框评价等级修改为 C,避免全部选项相同无法提交
var index = Math.round(Math.random() * (selects.length - 1));
selects[index].selectedIndex = 2;
// 写评语,可以改为使用随机值的,我比较懒就使用了固定的
iframe.contentDocument.getElementById("pjxx").value = '老师很认真负责';
// 模拟点击保存按钮
iframe.contentDocument.getElementById("Button1").click();

完整的代码
[PHP] 纯文本查看 复制代码
// 获取相关资源
var iframe = document.querySelector('iframe');
// 总共需要评教的课程数
var li = document.querySelectorAll("ul.nav>li.top")[3].querySelectorAll("ul.sub>li").length;
// 信号量/许可证
status = false;
// 评教函数定义
function pj() {
    // 判断是否正在执行评教脚本,是则退出,因为重复执行有可能会出 BUG,有的课程评教不全,也就是只修改了部分下拉框,就被提交了
    if (status) {
        // 结束脚本
        return;
    }
    // 修改标志位,相当于多线程许可证,或者是信号量一般,让脚步互斥执行
    status = true;
    // 判断是否需要评教,不需要则弹出提示框表示评教完成
    if (li == 0) {
        iframe.setAttribute('onload', "javascript:dyniframesize('iframeautoheight');");
        // 模拟点击提交按钮
        iframe.contentDocument.getElementById("Button2").click();
        // 提示完成评教
        alert("done");
        // 结束脚本
        return;
    }
    // 获取课程所有的下拉框
    var selects = iframe.contentDocument.querySelectorAll('table.datelist>tbody>tr>td>select');
    // 将下拉框的 Index 全部置为 1 也就是评价为 B
    for (var i = 0; i < selects.length; i++) {
        // 索引为 1 表示为 B,可选值为:0: A,1: B,2: C,3: D...具体看教务系统给多少个等级
        selects.selectedIndex = 1
    }
    // 取一个随机数 index,第 index 个下拉框评价等级修改为 C,避免全部选项相同无法提交
    var index = Math.round(Math.random() * (selects.length - 1));
    // 修改下拉框,避免所有下拉框的值都相同导致无法保存
    selects[index].selectedIndex = 2;
    // 写评语,可以改为使用随机值的,我比较懒就使用了固定的
    iframe.contentDocument.getElementById("pjxx").value = '老师很认真负责';
    // 模拟点击保存按钮
    iframe.contentDocument.getElementById("Button1").click();
    // 循环变量 -1
    --li;
    // 设置脚本运行结束,可以再次执行脚本
    status = false;
}
iframe.setAttribute('onload', "javascript:dyniframesize('iframeautoheight'); pj();");

// 开始评教
pj();


直接翻开控制台(按 F12 或许点击开发者东西,挑选控制台),将完好代码粘贴进入,点击执行即可,Chrome 下测验成功,期待反馈 BUG,现在已知的 BUG 如下:
假如评教过程犯错,仍是会持续执行,短少检错机制,但是呈现错误的状况极少,故不持续增加检错机制,防止代码过于臃肿
评语每次都相同,简单被查出来,能够使用随机语录,制造中…









联系我时,请说是在 挂海论坛 上看到的,谢谢!



上一篇:直播平台源码
下一篇:在线版刷快手播放量的工具+源码
免责声明:
1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关。一切关于该内容及资源商业行为与www.52ghai.com无关。

2、本站提供的一切资源内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。

3、本站信息来自第三方用户,非本站自制,版权归原作者享有,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

4、如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵犯你版权的,请邮件与我们联系删除(邮箱:[email protected]),本站将立即改正。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

免责声明|Archiver|手机版|小黑屋|挂海论坛

GMT+8, 2024-5-19 08:23 , Processed in 0.389063 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.2

本站资源来自互联网用户收集发布,如有侵权请邮件与我们联系处理。xhzlw@foxmail.com

快速回复 返回顶部 返回列表