0%

SCNU教务系统学生评价辅助工具

华南师范大学教务系统学生评价辅助脚本

脚本安装

场景分析

针对教务系统每个学期的学生评价,每门课程都要勾十个选项,少的时候也有十门课程。考虑写一个JavaScript脚本辅助勾选完全同意选项

思路

查看页面元素,发现需要勾选的html元素为radio类型的input标签,且类名均为 radio-pjf ,考虑用 document.getElementsByClassName() 获取所有选择框,设置完全同意对应的选择框的 check 属性

提交按键的id为 btm_ok ,用 document.getElementById() 获取对应按钮,用 click() 模拟点击

存在问题

使用 click() 模拟的点击会被网站拦截,无法提交,暂时还没找到绕过的方法,因此提交按钮需要手动点击,脚本仅是辅助批量选择选项和切换课程

脚本源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
function evaluateCourse() {
const course=document.getElementsByClassName('ui-row-ltr');
for(var i=0;i<course.length;i++){
if(course[i].innerText[0]==='未'){
course[i].click()
setTimeout(()=>{
console.log(document.getElementsByClassName('radio-pjf').length)
},3000)
setTimeout(function() {
const RadioList = document.getElementsByClassName('radio-pjf');
for(var i=0;i<50;i+=5){
RadioList[i].checked=true;
}
} , 3500);
break;
}
}
}

var check = setInterval(()=>{
const success=document.getElementById('btn_ok');
if(success){
success.click();
}
},500);

var evaluate= setInterval(()=>{
if( document.getElementsByClassName('radio-pjf').length>49){
setTimeout(()=>{
evaluateCourse()
},500)
}
},500)

欢迎关注我的其它发布渠道