Skip to content

About

武汉理工大学心理测评自动答题助手 - Tampermonkey 用户脚本

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation

武汉理工大学心理测评自动答题助手

一个针对武汉理工大学心理测评系统(xlt.whut.edu.cn)的 Tampermonkey 用户脚本。

version license platform

简介

这个脚本在心理测评页面右上角注入一个悬浮控制面板,自动识别 Vant 单选组件形式的题目,按你选定的策略批量勾选选项,并自动点击「同意」「开始测评」「确认」等翻页按钮,实现连续答题。

它不提交、不伪造结果,只是替代人手点选项这一机械动作 —— 最终答案由你自己选择的策略决定。

功能特性

  • 自动识别题目:兼容 Vant 2 / Vant 4 两种 van-radio 结构,包括「每个选项一个独立 radio-group」这种非标准布局
  • 四种答题策略:中立(中间项)、积极(首项)、消极(末项)、随机
  • 两种运行模式:
    • 答当前题:只处理当前屏幕上的题目
    • 连续答题:800ms 轮询,自动处理后续所有页面,翻页按钮自动点击
  • 随时换策略:连续答题过程中切换下拉框即生效,无需停止重来
  • 网络拦截:捕获 XHR / Fetch 返回的题目 JSON,供调试面板查看
  • 可拖拽面板:标题栏按住即可拖动,不挡内容
  • 调试信息:一键查看当前检测到的 radio 数量、题库捕获情况、已答数量

安装

方式一:直链安装(推荐)

先确保浏览器已安装 Tampermonkey,然后点击:

https://raw.githubusercontent.com/fieldlu/whut-psy-test/main/whut-psy-test.user.js

Tampermonkey 会自动识别 .user.js 后缀并弹出安装页。

方式二:手动导入

  1. 下载仓库里的 whut-psy-test.user.js
  2. 打开 Tampermonkey 管理面板 → 实用工具 → 导入文件
  3. 选择刚下载的文件

方式三:从 URL 安装

在 Tampermonkey 管理面板 → 实用工具 → 「从 URL 安装」,粘贴上面的 raw 链接。

使用

  1. 打开 https://xlt.whut.edu.cn/stu/* 下的测评页面
  2. 右上角出现紫色面板 🧠 测评助手 v1
  3. 在下拉框选择答题策略
  4. 点 ✅ 答当前题 或 ▶ 连续答题
  5. 想停下时点 ⏹ 停止

也可以在 Tampermonkey 的脚本菜单里直接触发「连续答题 / 停止 / 调试」。

策略说明

策略 行为 适用场景
中立(中间) 选选项列表的中间项 量表题,中间通常对应「一般/不确定」
积极(第1项) 选第一项 选项按「非常符合 → 非常不符合」降序排列
消极(末项) 选最后一项 同上,反向取
随机 每项随机 想制造回答分布,避免全部同值

⚠️ 量表题的选项方向各校、各表可能相反。请先用 🔍 调试 看一眼选项文本,确认方向后再批量跑。

工作原理

页面加载
   ├─ 注入悬浮面板(GM_addStyle + DOM)
   ├─ MutationObserver 监听 DOM 变化(250ms 防抖)
   ├─ 拦截 XHR / Fetch,尝试捕获题目 JSON
   └─ 点击「答当前题 / 连续答题」
          ↓
      扫描 .van-radio-group
          ↓
      ├─ radio 数 == group 数 → 特殊结构,全局选 1 个
      └─ 常规结构 → 每个 group 内选 1 个
          ↓
      点击 .van-radio__icon(绕开 label 的 @click.stop)
          ↓
      同步 Vue 实例的 modelValue / currentValue
          ↓
      轮询下一轮,直至无题或手动停止

关键点在最后两步:Vant 的 label 上绑了 @click.stop,直接点 label 会被拦掉,所以要打 .van-radio__icon;而视觉选中后 Vue 内部的绑定值不一定同步,因此再直接写一次组件实例的 modelValue/currentValue,双保险确保提交时读到的是新值。

已知限制

  • 只适配 Vant 单选结构,若学校改版为原生 <input type="radio"> 或其它 UI 库,选择器需重写
  • CONFIG.secret 为接口签名密钥,硬编码在源码中;学校若更换密钥需同步修改
  • 连续答题依赖页面 SPA 路由切换,若改成整页刷新,计时器会被重置,需重新点击

免责声明

  • 本脚本仅供 学习与技术交流 使用,用于研究 Tampermonkey 脚本与 Vue/Vant 组件交互方式
  • 心理测评结果可能影响学校对学生的判断与后续干预,建议尽量按真实感受作答
  • 请遵守武汉理工大学及所在学院的相关规定,是否使用由你自行判断
  • 使用本脚本产生的一切后果由使用者自行承担,作者不承担任何责任

许可证

MIT

About

武汉理工大学心理测评自动答题助手 - Tampermonkey 用户脚本

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages