华南师范大学教务系统学生评价辅助脚本
脚本安装
场景分析
针对教务系统每个学期的学生评价,每门课程都要勾十个选项,少的时候也有十门课程。考虑写一个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)
|