[Demo ]英华在线教育网课自动播放 js

此文章仅供学习参考,请勿使用在网站使用!!!


Status:未完成,Demo Version1.0
@Author:xiaozhu_sai
Date:2020/12/22

功能实现&未实现

[ √ ] 已实现

  • 运行后,自动检测并播放视频。
  • 播放完后自动跳转到下一章节

[ X ] 未实现

  • 遇到空章节(空页面),自动关闭
  • 章节低频跳出的验证码,未实现自动识别通过
  • 因网络原因可能导致视频暂停,等待,直到网络良好后继续播放课程

脚本代码(功能未能完整实现):

// ==UserScript==
// @name         自动观看观看 Ver1.0
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match       http://狗XX狗 课程url
// @grant        none
// ==/UserScript==
//@Author:xiaozhu_sai
//Date:2020/12/22
//初始准备,点开第一章第一节界面


document.evaluate('/html/body/div[5]', document).iterateNext().style.display = 'none'
//定位课程目录
var group = document.getElementsByClassName('group two ');
//课程章节 item
window.unit = 0;

//执行一次/3s
function start(){
    //获取当前页面video元素
    var video = document.getElementsByTagName('video');

    //获取当前章小节列表 38节
    //定位课程目录 test
    var group = document.getElementsByClassName('group two ');
    var navlist = document.getElementsByClassName('detmain-navlist')[0];
    var item = navlist.getElementsByClassName('item');
    //展开所有章节
    for (i=0;i<group.length;i++){group[i].className = "group two on"; }

    //空页面, 跳转下一章
    if (video.length == 0){
        //章节加一
        window.unit += 1;
        
        //下一节
        item[window.unit].getElementsByTagName('a')[0].click();
    }
    //视频已播放完
    if(video[0].ended == true){
        //章节加一
        window.unit += 1;

        //下一节
        item[window.unit].getElementsByTagName('a')[0].click();
    }
    //未观看&未看完的视频,播放
    if (video[0].paused == true && video[0].ended == false){
        //静音
        video[0].volume = 0;
        //开始播放当前视频
        video[0].play();
        // //测试 加速播放
        // video[0].playbackRate = 8;
    }
    console.log('start ',i++, window.unit)

    //监听播放结束
    //Todo:因为网络原因暂停-事件
    //video[0].addEventListener('ended', function(){foo(video, item);}, false);
}

var i = 1
//每分钟执行一次
setInterval(start, 1*1000);


posted @ 2021-01-12 14:43  sai51338  阅读(1284)  评论(0)    收藏  举报