用JS,快速完成类似智慧教育云寒假网络研修视频课程的方法解析【操作简单】

查看 141|回复 12
作者:Pwaerm   
通常在网络视频课程学习时,获得学习积分有两类:


第一类: 通过用户心跳检测用户是否在线,同时服务器端根据在线时长与其它逻辑积分。

[color=](这种方案在客户端是无论如何也快不了的,只能老老实实消耗相应的时间)



第二类: 通过看完视频(发出ended事件)、视频播放时间达到临近结尾时、视频播放经过事先设定的几个时间锚点时等逻辑来触发得到积分
[color=](本贴仅讨论这类)

争对这类触发方式,用以下三行代码来分别对应:
1. 直接发送视频观看完成事件(当前的寒假研修就是这种方式):
[Asm] 纯文本查看 复制代码document.querySelector("video").dispatchEvent(new Event("ended"))
2. 直接设置视频播放到结尾(人力资源网有一类视频就是这种):
[Asm] 纯文本查看 复制代码var v=document.querySelector("video");
if(v){
    v.muted=true;
    v.currentTime=Math.floor(v.duration);
    v.play();
}
3. 高倍速播放(必须经过几个时间锚点,学习公社上有一些视频是这种)【插件市场上已经有很多倍速播放视频的插件,可直接安装使用】:
[Asm] 纯文本查看 复制代码var v=document.querySelector("video");
if(v){
    v.muted=true;
    v.playbackRate=16;//0.1-16任意设置
    v.play();
}
4. 其实还有一种就是通过控制台的网络面板,编辑并重播请求(EDGE中是这样的称呼),修改相应的参数再提交一次。【这种比较危险,不建议使用】
以上js代码如何运行?
1 写成浏览器插件,这个需要有一定的js知识并阅读浏览器插件写作规范,相对新手不太友好,但它可以实现批量自动化,全程无需人肉干预。
2 粘贴代码到油猴插件中运行,也比较繁琐,个人不推荐。
3 直接在浏览器中运行【强烈推荐】。
运行方法如下(以第一种方案的代码为例,其它方案只是要运行的代码不同):
(1) 在观看视频的页面地址栏输入【适用于临时执行一次】
[Asm] 纯文本查看 复制代码javascript: document.querySelector("video").dispatchEvent(new Event("ended"))
[color=]【注意javascript:】这个单词和冒号在地址栏是不能粘贴的,只能手动输入
(2) 把代码添加到收藏夹中,要运行时就点击一下【适用于反复执行】。


104500upwkxspqsdhkjqff.png (47.88 KB, 下载次数: 0)
下载附件
2024-2-4 13:47 上传

(3) 也可以在观看视频的页面按F12打开浏览器的控制台,选择Console(控制台)在 > 后面输入然后回车【适用于执行多行或者需要查看返回信息的情况】
[Asm] 纯文本查看 复制代码document.querySelector("video").dispatchEvent(new Event("ended"))[/mw_shl_code]


eee.png (43.13 KB, 下载次数: 0)
下载附件
2024-2-4 13:48 上传

代码, 视频

Ding001   


夏天笔记 发表于 2024-2-7 10:34
已经没有加速效果了,可以完成视频播放,但是计时时间不增加

前面步骤一样
F12 输入以下代码
document.querySelector("video").dispatchEvent(new Event("ended"))
var v=document.querySelector("video");
if(v){
    v.muted=true;
    v.currentTime=Math.floor(v.duration);
    v.play();
}
点击重新播放,开始播放,直至显示视频完成(标志是后面的空心圆变成实心圆)
再次输入上面的代码。
课时就可以增加了。
Pwaerm
OP
  


kanedennis 发表于 2024-2-4 17:40
楼主,这种方法能永久使用吗?

如果官网修改了获得积分的触发方式就失效了。
以上三种思路基本上涵盖了所有的客户端快速操作的可行性方法,如果以上三种都解决不了,可以肯定是采用了服务器端计时。就只能老老实实开着电脑耗电等时间。
yxdxf   

我用F12的方法,一秒完成视频观看,感谢楼主!
liyitong   

第一类适当补充一点。
https://kc.enetedu.com/
这个网站是每半分钟提交一次在线记录,服务端记录次数。
只要连续提交在线记录,也能瞬间完成进度任务。
hpzka   

前排感谢,跟大大学习
SVIP9大会员   

大佬,你上次发的那个脚本如何食用呐,求告诉!我替换了 网址也不行 。
Pwaerm
OP
  


SVIP9大会员 发表于 2024-2-4 16:02
大佬,你上次发的那个脚本如何食用呐,求告诉!我替换了 网址也不行 。

替换以后  和我在去年发的那个帖子里面的message.js 一起加入油猴脚本就可以自动化了
SVIP9大会员   


Pwaerm 发表于 2024-2-4 16:08
替换以后  和我在去年发的那个帖子里面的message.js 一起加入油猴脚本就可以自动化了

应该是我太笨了 ,我搭配了不知道为什么不执行。
vipcrack   

造福老教师们的好思路,感谢!
您需要登录后才可以回帖 登录 | 立即注册

返回顶部