本文针对JS初学小白,大神打扰了!!
前言
大二因为迷恋爬虫所以自学了HTML,CSS,JS,但是一直也就是用于在写爬虫的时候分析分析页面,疫情期间因为选了太多的超星尔雅网课,抠门我当然舍不得花钱去刷,所以想起了老朋友JS,于是有趣的事情发生了...........,
思路简述
超星页面视频播放使用的HTML5的video标签实现播放的。 HTML <video>
元素 用于在HTML或者XHTML文档中嵌入媒体播放器,用于支持文档内的视频播放。你也可以将 <video>
标签用于音频内容,但是 元素可能在用户体验上更合适。所以通过使用JS来操作video的属性再加上一些循环判断视频是否播放完毕,自动寻找下一章节就能实现视频自动播放
下面贴出源代码
//获取所有章节的url
var article=document.querySelectorAll(".ncells a");
var checkIsFinish=document.querySelectorAll(".jobUnfinishCount");
var i=0;
var flag=0;
for(i=0;i<checkIsFinish.length;i++){
if(checkIsFinish[i].value==2){
break;
}
}
//从第一章节开始遍历
article[++i].click();
//定时任务,定时检测视频播放情况
window.setInterval(function(){
//将网课的第一节视频与其他章节视频区别判断
if(flag==0&&document.querySelector("#dct3")!=null){
document.querySelector("#dct2").click();
flag=1;
}
var first=document.querySelector("iframe").contentDocument;
var second=first.querySelector("iframe").contentDocument;
//检测视频是否播放完成
if($("iframe").contents().find(".ans-job-finished").length != 0){
console.log("完成");
article[++i].click();
article[i].click();
flag=0;
}else{
var media=second.querySelector("video");
media.volume=0; //设置静音
//周期检测暂停,这样在网页最小化后也能自动播放
if(media.paused){
console.log("检测到暂停");
media.play();
}
}
},10000);
我想告诉大家这个代码我现在也不知道还能不能用(你还是个人?!!!),因为这学期完美错过选网课所以现在没办法检测代码的可用性,这么长时间页面的布局元素都可能发生改变。但是大家知道了思路,自己实现的过程会很有趣,实现后也会非常有成就感。
最后
正在学习爬虫的可以在公众号后台添加我微信,我原来通过爬虫也实现过fif口语刷任务(现在代码也失效了,但是我可以告诉你思路);也可以访问我的github仓库,我clone一个大神写的到梦空间报任务的项目,并且简单更改实现抢任务,感兴趣的可以研究研究。
重磅资源!!!
关注小白不想当码农微信公众号。
后台回复java核心技术卷关键字领取《java核心技术卷》pdf
回复jvm领取《深入理解Java虚拟机》pdf和《自己动手写jvm》
回复设计模式领取《headfirst设计模式》pdf
回复计算机网络领取《计算机网络自顶向下》pdf
最最后
我是不想当码农的小白,平时会写写一些技术博客,推荐优秀的程序员博主给大家还有自己遇到的优秀的java学习资源,希望和大家一起进步,共同成长。
以上内容如有错误,还望指出,感谢
公众号点击交流,添加我的微信,一起交流编程呗!
公众号: 小白不想当码农
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。