ICode9

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

学堂在线自动刷课脚本

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

标签:脚本 私信 在线 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

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

ICode9版权所有