← 返回
未分类

学习通答题|xuexitong-browser-answer

学习通/超星作业自动化(Playwright浏览器版 v1.0.0):自动识别题型、填写答案、暂存。支持单选、多选、判断、填空题,智能检测已答状态避免重复操作。
学习通/超星作业自动化(Playwright浏览器版 v1.0.0):自动识别题型、填写答案、暂存。支持单选、多选、判断、填空题,智能检测已答状态避免重复操作。
DD
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 38
下载
💾 0
安装
1
版本
#latest

概述

学习通浏览器自动答题 Skill

基于 Playwright 浏览器自动化的学习通作业答题工具。

核心特点

  • 浏览器真实操作:通过 Playwright 控制浏览器,模拟真实用户操作
  • 智能题型识别:自动区分单选、多选、判断、填空题
  • 防重复操作:检测已答状态,跳过已选/已填的题目,避免取消答案
  • 填空题正确同步:使用 UEditor API 设置内容并调用 .sync() 同步到 textarea
  • Cookie 持久化:登录状态保存,下次无需重新登录
  • 安全暂存:默认只暂存(saveWork),不自动交卷

依赖

  • Node.js >= 18
  • Playwright:npm install playwright

快速开始

1. 安装依赖

npm install playwright
npx playwright install chromium

2. 运行答题脚本

node {baseDir}/scripts/auto_answer.js \
  --url "https://mooc1.chaoxing.com/mooc-ans/mooc2/work/dowork?courseId=...&workId=..." \
  --answers "D:/path/to/answers.json"

3. 答案文件格式

{
  "single": ["B", "A", "C", "D"],
  "judge": [1, 0, 1, 0],
  "fill": ["视觉效果", "像素", "灰度值"],
  "multi": [["A", "B"], ["B", "C", "D"]]
}
  • single:单选题答案,对应选项字母
  • judge:判断题答案,1=对,0=错
  • fill:填空题答案,每题一个字符串
  • multi:多选题答案,每题一个选项数组

工作流程

  1. 启动浏览器,加载 Cookie(如有)
  2. 打开作业页面,检测是否需要登录
  3. 自动识别题目类型和数量
  4. 检查每题的已答状态,跳过已答题目
  5. 按顺序填写答案
  6. 调用 saveWork() 暂存
  7. 保持浏览器打开供人工检查

页面 DOM 结构参考

超星泛雅模式作业页面的关键 DOM 结构:

单选题/判断题

div.answerBg[qid="405292246"][qtype="0"]
  └── span.num_option[data="A"]  ← 选项
  • 每个选项是独立的 div.answerBg
  • 点击使用 addChoice(this) 函数
  • 选中状态:span 上有 cur_check

判断题

  • 与单选题结构相同,但选项 data 值为 true/false
  • 显示文本为 "A"(对)/"B"(错)

填空题

div.questionLi[id="question405292266"]
  └── div.textDIV
      └── textarea#answerEditor4052922661  ← 隐藏 textarea
      └── iframe#answerEditor4052922661    ← UEditor iframe
  • 填空题不在 div.answerBg 内,而在 div.questionLi
  • UEditor ID 格式:answerEditor{qid}{blankIndex}
  • 必须使用 UE.getEditor(id).setContent() + .sync() 填写

暂存/提交

  • 暂存函数:saveWork()
  • 提交函数:submitWork() / submitValidate()
  • 表单:#submitForm,action 指向 addStudentWorkNewWeb

配置

Cookie 保存路径

默认:{workspace}/chaoxing_state.json(Playwright storageState 格式)

可选参数

| 参数 | 说明 | 默认值 |

|------|------|--------|

| --url | 作业页面 URL | 必填 |

| --answers | 答案 JSON 文件路径 | 必填 |

| --state | Cookie 状态文件路径 | ./chaoxing_state.json |

| --headless | 无头模式 | false |

| --no-save | 不自动暂存 | false |

| --timeout | 操作超时(秒) | 600 |

常见问题

Q: 填空题填入后右侧答题列表没有更新?

A: 需要调用 UEditor 的 .sync() 方法同步内容到隐藏的 textarea,本 Skill 已内置此逻辑。

Q: 重复运行会取消之前的选择吗?

A: 不会。脚本会先检测每题的已答状态,已答的会跳过。

Q: Cookie 过期了怎么办?

A: 脚本会自动检测,如跳转到登录页会弹出浏览器窗口让你登录,登录后自动继续。

Q: 泛雅(fanya)模式和普通模式有什么区别?

A: 泛雅模式所有题目在一个页面,普通模式分页。本 Skill 主要针对泛雅模式(单页面)。

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-05-30 18:30 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

education

Interview Simulator

wscats
模拟各类职位和经验水平的面试,提供定制化的技术、行为及案例问题,并给予详细反馈与评分。
★ 26 📥 22,169
education

Thinking Partner

itsflow
通过提问探索复杂问题的协作思考伙伴
★ 51 📥 10,112
education

Language Learning Tutor

chipagosfinest
AI语言导师,通过对话、词汇练习、语法课程、抽认卡及沉浸式练习,助您学习任意语言。适用于学习新语言、练词汇、学语法、翻译、会话练习、旅行准备、习语俚语或改善发音。支持包括中、英、日、韩、法、德、西等在内的100多种语言。
★ 30 📥 9,019