Skip to content

RXCCCCCC/scut-auto-evaluation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

scut-auto-evaluation

华南理工大学评教自动化脚本

简介

该脚本用于在华南理工大学教务系统(pj.jw.scut.edu.cn)的评教页面上自动填写问卷并尽量自动完成提交流程。脚本会自动选择每题的第一个可用选项、填充评价文本、点击提交并在弹窗中确认,随后自动前往下一门课程直到完成全部评教。

注意:脚本会执行自动提交操作,具有一定风险。使用前请务必阅读“风险与免责声明”并在可控环境下测试。

功能

  • 自动检测评教题目并逐题填写(默认选择第一个可用单选项)。
  • 自动填充评价文字(默认文本:“老师教学认真,内容充实,推荐!”)。
  • 自动点击“提交”并在弹窗出现时自动点击“确定”。
  • 自动寻找并点击“下一(门/位)”按钮,继续下一份评教直到结束。
  • 容错策略:使用 MutationObserver 监听确认弹窗并在失败时尝试刷新/重试(脚本内含简单异常捕获)。

使用方法

  1. 在浏览器中安装 Tampermonkey 或 Violentmonkey。
  2. scut-auto-evaluation.js 添加到脚本管理器并启用。
  3. 手动进入目标评教的“具体打分题目页面”(脚本不会自动跳转到该页面),脚本在页面加载 (window.onload) 完成后开始工作。

运行示例:打开要评教的页面,等待脚本在控制台输出日志(包含“检测到题目和提交按钮,开始填写...”等信息),观察自动填写与提交过程。

通过 Greasy Fork + Tampermonkey 安装(推荐)

  1. 在浏览器中安装 Tampermonkey(Chrome/Edge:Tampermonkey,Firefox:Tampermonkey 或 Greasemonkey)。

  2. 打开本脚本在 Greasy Fork 的页面:

    https://greasyfork.org/en/scripts/561829-scut%E8%87%AA%E5%8A%A8%E8%AF%84%E6%95%99%E8%84%9A%E6%9C%AC

  3. 点击页面中的 “Install this script” 或 “Install” 按钮:

    • 若浏览器弹出 Tampermonkey 的安装窗口,确认并保存脚本;
    • 若弹出原始脚本内容,Tampermonkey 会自动将其导入,点击保存/启用即可。
  4. 安装后确认脚本已在 Tampermonkey 仪表板中启用(开关为 ON)。

  5. 进入华工评教网页手动打开目标评教的“具体打分题目页面”,脚本会在页面加载后自动运行。

提示与常见问题:

  • 如果 Tampermonkey 没有在该页面运行,检查 Tampermonkey 的“包含/排除”设置和脚本的 @match 规则,确保 pj.jw.scut.edu.cn 被允许。
  • 若 Greasy Fork 页面显示旧版本或发生更新延迟,点击 Greasy Fork 上的“Versions”或在 Tampermonkey 中使用“Check for updates”。
  • 如果你更偏好手动安装:在 Tampermonkey 中选择“创建新脚本”,将 scut-auto-evaluation.js 的完整内容粘贴进去并保存。

可定制项

脚本当前为“默认自动提交”模式:若想改为“仅填写不自动提交”或加入确认,可以作以下修改:

  • 在脚本顶部添加一个变量开关,例如:
const AUTO_SUBMIT = false; // false = 仅填写不提交
  • autoFillEvaluation 中,将触发提交的部分包裹 if (AUTO_SUBMIT) { ... },否则只执行填写逻辑。
  • 在自动提交前加入 confirm('确认自动提交?') 弹窗以要求手动确认。

选择器说明与维护

脚本依赖页面的一些 class 名称和按钮文本来定位元素(例如:.index__subjectItem--XWS1b.index__submit--jiKIA.ant-modal-body .ant-btn-primary 和包含“下一”字样的按钮)。

注意:这些 class 名称可能由前端构建工具生成且会在网站更新时改变。如果脚本失效:

  • 打开浏览器开发者工具,检查题目项、提交按钮和确认弹窗的实际 DOM。
  • 找到稳定的父节点或 data- 属性,替换脚本中的选择器。

示例:将 .index__subjectItem--XWS1b 替换为更稳健的选择器(如包含 roledata- 的属性)可以提高脚本的适应性。

调试与日志

  • 脚本使用 console.log/console.error 输出执行状态,打开开发者工具的控制台查看运行信息。
  • 若脚本未触发,请检查 Tampermonkey 的 @match 规则是否覆盖当前页面 URL。

常见问题

Q: 页面元素不存在导致脚本不运行?
A: 页面可能尚未完全加载或选择器不匹配,建议在控制台运行 document.querySelectorAll('.index__subjectItem--XWS1b') 检查是否能找到题目项,并根据实际 DOM 调整选择器。

Q: 我不希望脚本自动提交,如何操作?
A: 将脚本改为“仅填写”模式(见“可定制项”),或在提交前添加确认对话框。

Q: 脚本在弹窗处停止了怎么办?
A: 检查是否存在与脚本匹配的确认按钮 .ant-modal-body .ant-btn-primary,如按钮类名发生变化需更新选择器;或手动点击确认继续。

风险与免责声明

  • 本脚本可能违反学校或平台使用条款;使用风险由使用者自行承担。
  • 强烈建议在测试账号或可控环境下先行验证行为。
  • 请不要将脚本用于未经授权的大规模自动提交行为。

贡献与联系

欢迎提交问题(issue)或 PR。如需我帮忙:

  • 添加 AUTO_SUBMIT 开关并默认关闭;
  • 将自动提交前加入确认弹窗;
  • 帮你把脚本适配不同版本的页面选择器。

许可证

脚本元数据中包含 @license MIT(如你同意,请在仓库添加 LICENSE 文件)。

版本历史

  • 2026-01-08 — 初始版本:自动填写并自动提交。

About

华南理工大学自动评教脚本

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors