ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学堂在线自动刷课脚本

2020-06-09 12:11:34  阅读:177  来源: 互联网

标签:脚本 私信 在线 index 代码 学堂 var 刷课 跳过


学堂在线自动刷课脚本,跳过讨论版

2020.6.9:有网友留言说2倍播放不能用,我之前没太注意,然后自己试了一下的确有问题,近两天尝试看能不能修复吧,临近期末,事情也比较多了,望谅解,大家就先凑合着用吧

以下这一长篇文字只是自己无聊,顺带记录的,需要脚本直接往下滑就行
         之前写了一个脚本,也是可以实现学堂在线的自动播放(上一个版本),但是遇到讨论不能跳过。其实在写完上一个脚本的时候我自己知道它遇到讨论就不能跳过了,但当时搞到凌晨两点多也没有实现跳过讨论的功能,然后想着我自己的课跳过讨论的也没多少,就懒得继续折腾了,毕竟当时写这个脚本的本意还是为了给自己用的。好东西要乐于分享嘛,就写了一篇博客发表出来了,本来没指望有多少人看的,认为大家都是好学生,怎么会像我一样有刷课偷懒的想法呢,哎,没想到最后发现想偷懒的人还挺多的嘛
         过了一段时间,有人私信我能不能加一个跳过讨论的功能。说可以给我发个红包买棒棒糖吃的,哇,我是在乎那点红包的人吗,我只是喜欢写代码而已~~~~。不多说,又开始研究怎么跳过讨论功能了,最后花了点时间,换了一个思路,终于把功能实现了出来。
         当时新版代码写完并没有马上分享出来,因为别人为了这个代码给我买了棒棒糖吃的,然后别人也提了一些要求,还有一些其它因素就没有写博客把新脚本分享出来,但是往后又有好多人还是问我能不能加跳过讨论的功能,想着代码已经写出来了,别人又有需求,就让他们私信发给他们(博客私信聊天界面发送文字字数有限,代码发不完全,就让他们加我微信以微信的方式发给了他们),最后发现有些人在博客上私信我,然后我让他加我微信发给他,然后就没后续了,估计他是怕我骗他棒棒糖吃,我才不是这样的人呢,只要你加我微信,代码我肯定是第一条消息发给你的,并且教你怎么用,至于棒棒糖这个东西,看你个人意愿嘛,毕竟有棒棒糖吃我肯定开心呀~~~。
         现在临近学期末,有些人课程还是没有刷完,最后想了想还是把这个跳过讨论脚本也一并分享出来吧,帮助那些有这方面需求的人。毕竟私信我也确实挺麻烦的,有时也不能及时看到消息,最后还是想说不要一味的用脚本刷课,有时间的还是自己看,看完后多多少少是可以学到知识的。代码不是很难,有这方面专业知识的同学也可以研究研究,尝试着自己写,自己改。

使用方法

  1. 把代码粘贴到控制台,默认是从第一节开始播放的
  2. 然后你可以看到左边列表有:#编号#,然后#号中间的编号就是第几节
  3. 当你想从特定的一节开使播放,可以输入startNum(对应的编号)
  4. 注意startNum()中的N是大写的,小写会报错
  5. stop();停止播放
  6. start();继续播放

具体脚本

var index = 0;
var runIt;
var lists = document.getElementsByClassName("third");
addIndex();
startNum(0);

function startNum(num){
    index = num;
    var temp = lists[index].getElementsByTagName("li");
    temp[0].click();

    var title = temp[0].getElementsByTagName("span");
    
    console.log("当前章节编号:"+index+",章节标题:"+title[0].innerText);
    start();
}

function addIndex(){
    for(var i = 0; i<lists.length;i++){
        var temp = lists[i].getElementsByTagName("li");
        var title = temp[0].getElementsByTagName("span")[0].innerText;
        temp[0].getElementsByTagName("span")[0].innerText = "#"+i+"#"+title;
    }
}

//开始视频播放
function start(){
    sta = document.getElementsByClassName("play-btn-tip")[0];
    console.log(sta);
    
    console.log("播放----");
    window.clearInterval(runIt);

    runIt= setInterval(next,5000);
    if(sta!=null){
        if(sta.innerText == "播放"){
            console.log("开始播放视频");
            document.getElementsByClassName("play-btn-tip")[0].click();
        }
    }
}

//停止视频播放
function stop(){
    start();
    sta = document.getElementsByClassName("play-btn-tip")[0];
    clearInterval(runIt);
    console.log("暂停----");
    if(sta!=null){
        if(sta.innerText == "暂停"){
            console.log("暂停视频");
            document.getElementsByClassName("play-btn-tip")[0].click();
        }
    }
}

//跳转下一节视频
function next(){
    // startNum(index);
    var video = document.getElementsByClassName("xt_video_player")[0];
    if(video == undefined){
        startNum(++index);
        console.log("作业或者讨论,5秒后跳转下一个视频,下一节编号:"+index);
    }
    else if(video.length != 0){
        var staNow = document.getElementsByClassName("play-btn-tip")[0];
        if(staNow.innerText == "播放"){
            console.log("播放视频");
            staNow .click();
        }
        var c= video.currentTime;
        var d = video.duration;
        //不想关闭声音可以把此行代码删掉
        soundClose();
        speed();
        //视频播放进度超过95%跳转下一节视频
        if((c/d)>0.95){
            startNum(++index);
            console.log("本节播放完毕跳转到下一节,下一节编号:"+index);
            console.log("本节观看百分比"+c/d);  
        }
    }else {
        console.log("未知错误!");
    }
}
//关闭视频声音
function soundClose(){
    var sound = document.getElementsByClassName("xt_video_player_common_icon_muted");
    if(sound.length == 0){
        document.getElementsByClassName("xt_video_player_common_icon")[0].click();
        console.log("视频声音关闭");
    }
}
//播放速度2.0
function speed(){
    var speed = document.getElementsByClassName("xt_video_player_common_list")[0];
    var speedChild = speed.firstChild;
    speedChild.click();
}

截图

在这里插入图片描述
n要大写,不然会报错
在这里插入图片描述

好像有的人是学堂在线学校版的,然后这个代码就不能用了会报错,当时有帮一个私信我的同学改过,但是具体改哪我现在也记得不大清楚,要是还是有学校版的同学有这需求,再私信我吧,到时候具体再帮看看。
这个脚本对应的网址是:学堂在线

标签:脚本,私信,在线,index,代码,学堂,var,刷课,跳过
来源: https://blog.csdn.net/weixin_42835515/article/details/106615701

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有