- ⚡ 全课件类型无缝支持:
- 视频微课:自动静音、2.0x 倍速安全播放,自动触发时长更新与完成回调;
- 交互式 PPT / H5 课件:自动点击翻页、自动激活互动图文盒子;
- 特殊动画微课:智能穿透复杂 DOM 树与嵌套 iframe。
- 🧠 课后微测验智能秒答 (100% 准确率):
- 内置试题探针与答案解析器,自动分析选项 ID 并即时提交正确答案;
- 彻底规避因答错导致微课无法打钩或需要重新学习的问题。
- 🔄 官方真实结算闭环:
- 严格遵循微伴官方微课播放器(
mcwk.mycourse.cn)$\rightarrow$ 评价结算页(#/wk/comment)$\rightarrow$ backProject()数据库事务提交; - 确保平台服务端永久记录
finished: 1,进度 100% 真实有效,绝非前端视觉伪造。
- 严格遵循微伴官方微课播放器(
- 🛡️ 智能防风控与行为模拟:
- 全局防切屏失焦阻断(
blur/visibilitychange事件屏蔽); - 拟真学习间隔节拍器,有效规避平台
701异常行为锁定。
- 全局防切屏失焦阻断(
- 📦 开箱即用的双运行模式:
- Tampermonkey 油猴脚本:安装后进入微伴全自动后台静默刷课;
-
F12 控制台一键启动:控制台粘贴即启动,配合油猴脚本实现跨页全自动循环;未装扩展时也可推进单门课程,并在课件页粘贴
pure_dom_runner.js完成学习。
- 在浏览器安装 Tampermonkey (油猴扩展)。
- 打开 Tampermonkey 管理面板,点击 添加新脚本。
- 复制本项目
tampermonkey/weiban_helper.user.js中的完整源码并保存。 - 登录微伴安全教育平台并打开课程列表,进入任意未完成微课,插件将自动完成静音、倍速、自动答题、自动提交与自动返回!
- 浏览器打开 微伴课程列表页 (
#/course)。 - 按
F12键(或右键点击“检查”)打开开发者工具,切换到 Console (控制台) 标签页。 - 复制
scripts/console_auto.js中的代码并粘贴按回车即可启动。
⚠️ 注意:控制台脚本的执行环境只属于当前页面 —— 脚本跳转到课件播放器域(mcwk.mycourse.cn)的瞬间即被浏览器销毁,因此单独使用控制台脚本无法自动循环(只能推进第一门未完成课程)。如需全自动遍历,请先安装方法一的油猴脚本,由其在课件页 / 结算页 / 列表页接力执行;若暂不安装扩展,可在跳转后的课件页 Console 中再粘贴运行scripts/pure_dom_runner.js完成当前课程。
weiban-auto-helper/
├── README.md # 项目详细文档与使用指南
├── LICENSE # MIT 开源协议
├── tampermonkey/
│ └── weiban_helper.user.js # 🐒 Tampermonkey 用户脚本 (v1.3.0)
├── scripts/
│ ├── console_auto.js # 💻 浏览器控制台启动器(全自动循环需配合油猴脚本接力)
│ ├── pure_dom_runner.js # 🎬 课件页纯 DOM 单课执行器(免安装扩展的兜底方式)
│ └── exam_solver.js # 📝 期末在线考试题库答题器
├── data/
│ └── question_bank.json # ☁️ 云端只读题库(供 exam_solver.js 拉取)
└── docs/
└── ARCHITECTURE.md # 🔬 微伴底层鉴权、播放器通信与防风控机制深度解析
flowchart LR
A[微伴课程列表 weiban.mycourse.cn/#/course] -->|navToDetail| B[课件播放器 mcwk.mycourse.cn]
B --> C{课件类型识别}
C -->|视频微课| D[静音 / 2.0x 倍速播放]
C -->|交互PPT/H5| E[自动翻页 / 交互盒子激活]
D --> F[微测验探针 getQuestions]
E --> F
F -->|提交正确答案| G[finishWxCourse 结算]
G --> H[微伴评价页 #/wk/comment]
H -->|backProject 事务提交| I[服务端数据库 finished = 1]
I -->|连续循环| A
Q:控制台出现 Blocked a frame with origin "https://weiban.mycourse.cn" from accessing a frame with origin "https://mcwk.mycourse.cn". Protocols, domains, and ports must match. 报错怎么办?
A:这是浏览器对跨源 iframe 的标准安全提示,触发者是微伴平台自己的详情页代码(平台页面会去探测课件播放器 iframe 的内部 DOM,而 weiban.mycourse.cn 与 mcwk.mycourse.cn 是两个不同的源)。本脚本对跨域 iframe 唯一的操作是读取 iframe.src 属性——读取该属性是跨源允许的行为,不会触发此报错。该提示无害且无法从脚本侧消除,不影响任何自动化流程,可放心忽略。
- LeoWang (@L20wang)
本项目基于 MIT License 开源。
本项目严格恪守开源软件隐私安全准则:
- 🛡️ 零数据收集 (Zero Telemetry):脚本绝不向任何外部服务器收集或上传用户的学号、姓名、学校代码、答题记录或任何私人凭证。
- 📖 云端题库纯只读 (Read-Only Question Bank):普通用户客户端仅单向拉取公开的标准常识题库,所有考后真题解析均仅保存在用户本地浏览器的
localStorage中。 - 🤝 开源贡献准则:公共题库仅由开发者在去除一切个人敏感信息后,通过 Git 审核机制进行版本迭代与合并。
本项目仅供计算机网络技术研究、前端架构分析及自动化测试学习交流使用。请合理安排学习时间,切勿滥用技术手段规避必要的安全常识教育。使用者应对自身行为全权负责。