🎬 视频课程自动播放技能
自动登录在线教育平台,查找 未听完(区别于"未合格/考试未过")的视频课程,点击视频画面中央自动播放/续播,监控进度,播放完毕后自动切换到下一课。
使用场景
- 需要批量完成在线课程视频学习
- 平台使用阿里云播放器(Aliplayer)或原生HTML5 video
- 课程分"专业科目"和"公需科目"等多分类
- 需要自动从上次断点续播
- 需要区分"未听完"(视频没放完)和"未合格"(考试没过但视频已播完)
改进说明 (v2)
相比基础版,本次更新:
| 改进项 | 说明 |
|---|---|
| 🎯 精准筛选 | 只查找标记 "未听完" 的课程,跳过已播完但考试未过的课程 |
| 🖱️ 点击视频中央播放 | 进入课程后直接点击视频画面正中央,模拟用户操作,支持断点续播 |
| 🔄 暂停自动恢复 | 暂停时点击视频中央 + JS保底双重恢复播放 |
| 📊 进度监控 | 每30秒检查一次播放进度,显示当前时间/总时长/百分比 |
| ⏭️ 自动切换 | 单视频播完后自动返回列表,继续处理下一个 |
调用方式
直接告诉 SOLO:「播放我的课程视频」,SOLO 会自动:
-
询问 以下信息(不会硬编码在脚本中):
- 网站URL(如https://example.com/login)
- 用户名/账号
- 密码
- 课程分类名称(如["专业科目", "公需科目"]) -
生成临时脚本并运行
- 自动完成全部操作:
- 登录 → 点击分类选项卡 → 扫描"未听完"课程 → 进入播放 → 监控进度 → 播完切下一课
运行前提
- Python 3.7+ 环境
- 安装依赖:
bash pip install playwright python -m playwright install chromium
页面结构要求
本技能针对以下页面结构适配:
<ul class="courseUl">
<li>
<a class="ellipsis">课程名称</a>
<a class="enterBtn">进入学习</a>
<span class="notOk">未合格</span> <!-- 考试未过 -->
<span>未听完</span> <!-- 视频没放完 -->
</li>
</ul>
关键逻辑:
- 只处理包含 "未听完" 文本的课程项
- 跳过包含 "已学完"、"已合格" 的课程
- 点击 a.enterBtn 进入课程
- 进入后找到 video 元素,点击其几何中心播放/续播
支持的平台类型
本技能通过分析页面元素自动适配。已知支持:
- Vue.js + Element UI 架构的课程平台
- ul.courseUl > li 课程列表结构
- a.ellipsis 课程名称 + a.enterBtn 进入按钮
- 带 "未听完"/"未合格" 状态标记
- 阿里云Aliplayer / Prismplayer 播放器
- 原生 HTML5 video
如果遇到不兼容的平台,可告知 SOLO 页面结构即可适配。