教学评价自动填写脚本记录

wzzyhg 8 0

在每学期的教学评价中,需要对所有课程进行逐一填写,手动点击、填写评语、提交,过程非常机械。为了节省时间,编写并使用了一个脚本,可以自动完成以下操作:

✅ 脚本功能

  • ✅ 遍历所有课程,逐一打开
  • ✅ 自动填写选择题:

    • 默认选择“非常认同”(即 data-dyf="100"
    • 随机一题选择“比较认同”(即 data-dyf="80"),防止满分
  • ✅ 自动填写评语和总体评价(内容为“好”)
  • ✅ 模拟真实用户事件(如 input, change, blur),避免页面校验失败
  • ✅ 自动点击“提交”按钮
  • ✅ 提交后自动跳转到下一门课程

✨ 最终版本脚本

将以下代码复制到浏览器检查的控制台中,全自动等待全部执行完即可。

javascript:(function(){let t=0,e=document.querySelectorAll(".item.mui-clearfix"),n=t=>new Promise(e=>setTimeout(e,t));async function o(){if(t>=e.length)return void alert("✅ 所有课程评价已完成!");console.log("▶️ 打开第 "+(t+1)+" 门课程"),e[t].querySelector("a").click(),await async function(t,r=1e4){let o=0;for(;!document.querySelector(t)&&o<r;)await n(500),o+=500}("#submit"),await n(1000),console.log("✅ 页面加载完成");let c=document.querySelectorAll(".dp"),a=!1;c.forEach(e=>{let r=e.querySelectorAll(".block");if(r.length<2)return;let t;a?(t=r[0].querySelector(".cs")):(t=r[1].querySelector(".cs"),a=!0),t&&t.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))});let r=document.querySelector('textarea[name="zgpj"]');r&&(r.value="好",["focus","input","change","blur"].forEach(t=>r.dispatchEvent(new Event(t,{bubbles:!0})))),r=document.querySelector("#py"),r&&(r.value="好",["focus","input","change","blur"].forEach(t=>r.dispatchEvent(new Event(t,{bubbles:!0})))),await n(500);let i=document.querySelector("#submit");i&&(console.log("🚀 提交第 "+(t+1)+" 门课程"),i.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))),t++,await n(3e3),o()};0===e.length?alert("❌ 没有找到课程,请确认是否在教学评价页面"):o();})();

☑️ 使用方法

  1. 打开学校的教学评价系统(看到课程列表页面)
  2. 点击刚才保存的“自动教学评价”书签
  3. 等待系统自动填写和提交所有课程

⚠️ 注意事项

  • 必须打开“课程列表页面”再运行脚本
  • 填写评语为“好”,如需自定义可改脚本中对应字段
  • 如果页面逻辑依赖用户交互,已通过 dispatchEvent 完美模拟

✅ 结果

最终效果为:

  • 每门课程自动进入
  • 自动填写选择题和评语
  • 自动提交并跳转
  • 无需人工干预

节省了大量重复劳动,提交体验一键完成。

发表评论 取消回复
表情 图片 链接 代码

分享