网课自动化——思路方案
2021.09.12
pandaian
一点微小的工作。
写在前面,仅为爱好和代码学习的过程记录,过程不可能涉及修改后台数据。
原理:直接在前端增加设置定时器,定时判断按钮状态,触发onclick事件,判断并点击相应的按钮实现对应的操作。
使用方法
进入需要播放的页面后按F12

在调试框找到控制台(Console)

复制粘贴下面JavaScript到控制台,回车执行

Chrome下测试可用,其他浏览器未知。
JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| var nextEvent = 0; var playEvent = 0; var primaryEvent = 0; var nextTime = 0; var playTime = 0; var primaryTime = 0;
var buttons = document.getElementsByClassName("next_button___YGZWZ"); setInterval(function() { nextEvent = nextEvent + 1; console.log("点击下一集事件执行中,次数为%o",nextEvent); var button = buttons[0]; if(typeof(button) != 'undefined'){ nextTime = nextTime + 1; console.log("存在下一集,点击播放下一集,点击次数为%o",nextTime); button.click(); } },10000); var outters = document.getElementsByClassName("outter"); setInterval(function() { playEvent = playEvent + 1; console.log("播放视频事件执行中,次数为%o",playEvent); var playing = document.getElementsByClassName("prism-big-play-btn"); var attr = playing[0].getAttribute('class'); if(attr.indexOf('playing') < 0){ var outter = outters[0]; if(typeof(outter) != 'undefined'){ playTime = playTime + 1; console.log("当前为暂停状态,点击开始播放,点击次数为%o",playTime); outter.click(); } } },10000); setInterval(function() { var ant = document.getElementsByClassName("ant-btn-primary"); var vers = document.getElementsByClassName("ant-form-item-control-input-content"); var ver = vers[0]; primaryEvent = primaryEvent + 1; console.log("验证人脸事件执行中,次数为%o",primaryEvent); if(typeof(ver) == 'undefined') { if(ant.length != 0){ primaryTime = primaryTime + 1; console.log("出现人脸验证,点击验证按钮,点击次数为%o",primaryTime); ant[0].click(); } } },10000);
|
代码中10000为每10秒执行一次,视情况修改。
自动人脸验证
每科出现的人脸验证的次数未知,有的课程多有的课程少,频率未知。网页调用电脑摄像头,小程序直接调用微信的人脸认证。
解决思路:
1.安装虚拟摄像头
2.手机录制自己的人脸视频保存到电脑
3.虚拟摄像头播放 步骤2 保存的自己人脸视频
虚拟摄像头的软件比较多,以下的演示中使用e2eSoft VCam

选择视频源

播放视频,那么这颗虚拟摄像头的画面就是播放的视频

在网页中可以选择调用的摄像头,选中这个虚拟摄像头就行了。如果分不清哪个是虚拟摄像头,在设备管理器中把电脑的摄像头设备禁用,那就只剩下这个虚拟摄像头。