正好又来到一学期一次的老师评价环节,但是又懒得自己动手去评价,就在网上找有没有现成的脚本,但是找到的基本都没有什么用,但是还是找到了一个,他就是HZAU新版正方教务系统一键教学评价,但是很可惜不太适用于现在的正方教育系统,所以加以修改,最终恢复使用!并且加以注释方便解读。
具体操作
我以谷歌浏览器为例,首先最好一次性把所有课程展示出来。
然后按F12或者右键检查
复制下面的代码,粘贴到上一步的console下面的输入区域,然后回车即可一键评价
如果想要学习如何制作请参考HZAU新版正方教务系统一键教学评价(仅做参考,他的代码已经不适合新版本正方教务)
代码如下
// 修改用户代理为 Android
Object.defineProperty(navigator, 'userAgent', { value: 'Android', writable: false });
// 获取表格行数,即要评价的课程数
var num = document.getElementById("tempGrid").rows.length - 1;
console.log('共' + num + '门课');
// 初始化计数器 i
var i = 1;
// 设置定时器,每隔6秒执行一次评价
var timer = setInterval(() => {
// 如果评价完成,输出评价结束并清除定时器
if (i == num + 1) {
console.log('评价结束');
clearInterval(timer);
} else {
// 输出开始评价第 i 门课
console.log('开始评第' + i + '门课');
// 获取当前课程的元素并模拟点击
var body = document.getElementById(i++);
if (body != null) body.click();
// 延迟3秒执行评价操作
setTimeout(() => {
// 获取所有评价单选框元素
var radios = document.getElementsByClassName('radio-pjf');
// 遍历评价单选框,根据生成的随机分数选择评价
var j = 0;
[...radios].forEach((item) => {
if (item.getAttribute("data-dyf") == "100") {
item.checked = true;
j++;
// 获取包含满意的 radio 输入框元素
var radioInput = document.querySelector('.input-xspj-2 input[data-dyf="80"]');
// 如果找到元素
if (radioInput) {
// 实现 checked = true
radioInput.checked = true;
}
}
});
// 获取评语的 <textarea> 元素并填写评语
var textarea = document.getElementById('0A5119ED9BE2DE8EE06302FBC0DE821B_py');
if (textarea != null) {
textarea.value = "老师教的真好";
}
// 点击保存和提交按钮
//document.getElementById('btn_xspj_bc').click();
document.getElementById('btn_xspj_tj').click();
document.getElementById('btn_ok').click();
// 输出第 (i-1) 门课已提交
console.log('第' + (i - 1) + '门课已提交');
}, 3000);
}
}, 6000);
其他问题
如果浏览器console处粘贴不了代码
输入以下代码即可恢复
allow pasting
如果还是不行可以看下这篇文章