Skip to content

chaolucky18/xuexitongScript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

学习通自动刷课脚本 V3 稳定版

当前版本基于原始 v3_optimized.js 的主框架整理,只保留稳定可用的核心逻辑:

  • 自动播放视频
  • 视频结束后自动切换到下一小节
  • 章节测验页面自动跳过
  • 从“学习目标”步骤自动切到“视频”步骤
  • 手动点“2视频”页签后自动重新接管播放

这版的目标是保持原模板的行为方式,不再额外叠加复杂的后台保活、通知、测试按钮等附加层,尽量减少冲突。

文件说明

当前脚本行为

1. 学习目标页

如果当前小节先进入的是“学习目标”而不是视频页,脚本会尝试点击顶部的 2视频 / 视频 标签进入视频步骤。

说明:

  • 这条路径已经按当前页面结构收紧,只走顶部视频标签,不再点击底部 下一节 按钮
  • 原因是底部按钮在当前页面里可能触发额外调试/暂停逻辑,稳定性较差

2. 视频页

进入视频页后,脚本会:

  • 识别 iframe 内的真实视频元素
  • 自动调用 play()
  • 如果播放被短暂中断,则尝试恢复播放
  • 如果普通播放失败,则尝试静音播放

当前默认配置:

configs: {
    playbackRate: 1.5,
    autoplay: true,
    retryInterval: 2000,
    maxRetries: 10,
    videoCheckInterval: 1000,
}

3. 视频结束后

视频触发结束事件后,脚本会调用 nextUnit(),在课程目录树中定位到下一小节并点击进入。

4. 章节测验

如果当前不是视频而是“章节测验”页面,脚本会尝试点击:

#prevNextFocusNext

以跳过当前测验步骤并继续后续流程。

使用方法

方法一:控制台执行

  1. 打开学习通课程播放页
  2. F12
  3. 进入 Console
  4. 复制 v3_optimized.js 全部内容
  5. 粘贴并执行

首次执行后可用:

app.run()
app.nextUnit()

方法二:Tampermonkey

  1. 安装 Tampermonkey
  2. 导入 v3_optimized.user.js
  3. 确认脚本已启用
  4. 刷新学习通播放页面

已知说明

1. 为什么有时会看到 AbortError

常见报错:

The play() request was interrupted by a call to pause()

这通常不是视频坏了,而是:

  • 页面从步骤页切到视频页时,播放器初始化会短暂停一下
  • 页面内部脚本会在加载过程中重置播放状态
  • 浏览器对媒体播放请求进行了短暂中断

脚本会优先尝试恢复播放,而不是立即判定失败。

2. 为什么会出现重复日志

如果同一页面反复粘贴执行脚本,会导致同一套监听和定时逻辑叠加,从而出现多次日志。

建议:

  • 刷新页面后只执行一次
  • 如果使用油猴版,尽量不要再在控制台重复粘贴执行

3. 为什么“静音播放成功”但一开始还能听到声音

旧逻辑里曾经会在静音启动成功后恢复声音。当前建议使用持续静音方式,不再自动恢复。

当前调试结论

目前这版已经验证:

  • 顶部 2视频 标签可以程序化点击
  • 手动进入视频页后可以自动播放
  • 静音恢复链路可用

目前重点保留的是稳定性,不再继续叠加额外功能。

免责声明

本项目仅用于脚本调试、前端自动化研究和页面行为分析,请遵守目标平台的使用规定。

About

学习通自动刷课脚本

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors