您的位置:首页 > 编程语言

[2020.3]最新版智慧树自动刷课代码 自动勾选弹窗 自动静音 自动下一节 1.5倍速

2020-03-31 19:24 1026 查看

今天想起来这学期还有两门网课要看 发现以往存的代码都不能用了  ̄□ ̄||

索性自己晚上没事 简单写了一个 没怎么测试 只试了几节 还可以O(∩_∩)O~

仅供大家学习使用,不可用于任何商业用途!

更新说明

        3.2 第一版

        3.3 更新两处已知bug

      1.章节之间跳转出现无法加载视频问题

      2.声音按钮意外点击              

1.完整JavaScript代码如下:

代码包含最基本的功能啦:检测章节 自动静音 自动下一节 1.5倍速

在处理弹窗部分,可以自动随机的在所给选项中选择一个作为答案,也算小小的防作弊机制吧[网上大部分的代码基本上都是默          认选择第一项],O(∩_∩)O哈哈~

[3.3更新后]

[code]                var chapters_length = document.querySelectorAll("ul.list").length;
var video_length = document.querySelectorAll("li.video").length;
console.log("共检测到" + chapters_length + "章" + video_length + "小节!");
document.getElementsByClassName("volumeIcon")[0].click(); //设置静音
console.log("静音设置成功!");
document.getElementsByClassName("speedTab speedTab15")[0].click(); //设置1.5倍速
console.log("1.5倍播放");
//每两秒检测进度是否100%
setInterval(() => {
var progress = window.getComputedStyle(document.getElementsByClassName("passTime")[0], null).width; //进度数据
if (progress == "100%") {
//下一节
document.getElementById("nextBtn").click();
console.log("自动播放下一节");
setTimeout(() => {
//检测00:00:00状态 处理章节间跳动
if (document.querySelector("span.duration").innerHTML == "00:00:00") {
var finished_length = document.querySelectorAll("b.time_icofinish").length;
document.querySelectorAll("li.video")[finished_length].click();
console.log("进入下一章节!");
}
}, 2000);
}
}, 2000);
//每秒检测弹窗
setInterval(() => {
//防静音意外失效
if(!document.getElementsByClassName("volumeBox  volumeNone")[0])
{
document.getElementsByClassName("volumeIcon")[0].click();
document.getElementsByClassName("speedTab speedTab15")[0].click(); //设置1.5倍速
}
if (document.getElementsByClassName("dialog-test")[0]) {
console.log("检测到弹窗!");
var random_number = randomNum(0, document.querySelectorAll("li.topic-item").length - 1);
document.getElementsByClassName("topic-item")[random_number].click(); //随机选一个防作弊
console.log("已选择第" + (random_number + 1) + "个选项");
document.getElementsByClassName("el-dialog__wrapper dialog-test")[0].getElementsByClassName(
"el-dialog__footer")[0].getElementsByClassName("btn")[0].click(); //关闭弹窗
console.log("弹窗关闭!");
document.getElementById("playButton").click(); //播放
}
}, 1000);

function randomNum(minNum, maxNum) {
switch (arguments.length) {
case 1:
return parseInt(Math.random() * minNum + 1, 10);
break;
case 2:
return parseInt(Math.random() * (maxNum - minNum + 1) + minNum, 10);
break;
default:
return 0;
break;
}
}

 2.使用步骤:(应该都会用叭^_^)

  • ①打开智慧树播放视频界面=》F12=》Console=》粘贴代码 =》回车
  • ②当出现类似上图数据后,证明脚本有效且运行成功
  • ③开始奔放(#^.^#)

3.说明

由于只是想起来写这个东西,只用了睡前的一点时间写了一会,代码写得略微繁琐,没有实现复杂的功能,但是基本的需求应该都         有啦

智慧树网站会时常进行更新,不保证这段代码的时效性,大家可以试试。如果不能用了,等我有时间了再更新叭

第一次在CSDN写博客 ,多多见谅啦!

 

  • 点赞 17
  • 收藏
  • 分享
  • 文章举报
睿吉吉 发布了11 篇原创文章 · 获赞 68 · 访问量 1万+ 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: