Box
Box
Posts List
  1. 使用方法
  2. JS
  3. 自动人脸验证

网课自动化——思路方案

一点微小的工作。

写在前面,仅为爱好和代码学习的过程记录,过程不可能涉及修改后台数据。

原理:直接在前端增加设置定时器,定时判断按钮状态,触发onclick事件,判断并点击相应的按钮实现对应的操作。

使用方法

  1. 进入需要播放的页面后按F12
    1.jpg

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

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

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
vcam.jpg

选择视频源
vcam.jpg

播放视频,那么这颗虚拟摄像头的画面就是播放的视频
vcam.jpg
在网页中可以选择调用的摄像头,选中这个虚拟摄像头就行了。如果分不清哪个是虚拟摄像头,在设备管理器中把电脑的摄像头设备禁用,那就只剩下这个虚拟摄像头。