智慧树网课辅助脚本,享受一口气看二十课的畅快体验。
2020年10月6日更新
由于新版智慧树没有了“返回旧版”的按钮,于是只好自己重新写一个咯。(哼)
特性
- 自动 1.5 倍速播放
- 自动静音
- 自动回答网课中弹题
- 自动切换下一节、下一章
- 自动点击之前,会随机等待0~60秒,模拟人类操作延迟
- 视频左上角显示是否开启脚本
使用方法
- 下载Chrome(理论上只要有控制台的浏览器皆可。)
-
打开智慧树视频播放地址
-
按下F12
-
找到Console
-
输入以下代码后回车
/** * author: 乖乖龙 * description: 自动播放、自动下一集、自动选择视频弹窗题目、自动关闭答题窗口、刷智慧树网课必备 * use-method: 打开智慧树播放课程界面 按F12 -> Console -> 粘贴本代码 ->按回车键 * use-method: 视频左上方出现一个图标点击图标开始刷课 显示‘已开’脚本开始监听 再次点击图标关闭 * upadteTime: 2020/10/6 */ //定时器 var timer; //++++++++ 以下为可设置的参数 ++++++++++ //初始状态 0 开启 1关闭 var startstatus = 0; //次数 var number = 0; //视频播放到100%时候切换下一个 var percent = 100; //速率 var speed = "1.5"; //静音 var vol = true; //答题?不答题将会移除答题框 var answer = true; //++++++++ 可设置的参数结束 ++++++++++ //查找节点 var tips = $(".video-study"); //创建新节点 var option = $("<div>"); //添加样式 var args = { "color":"DarkOrange", "text-align":"center", "line-height":"90px", "font-size":"30px", "background-image": "url(data:image/jpg;base64,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)", "background-repeat": "no-repeat", "background-size": "100%", "width": "90px", "height": "90px", "border-radius": "45px", "position":"fixed", "left":"60px", "top":"200px", "z-index":"999" }; option.css(args); //添加点击事件 option.attr("onClick","StartOrStop()"); option.attr("id","rains"); option.text("Rains"); //插入节点到页面 tips[0].parentNode.insertBefore(option[0],tips[0]); //函数 function start(){ if(number % 200 == 0){ console.clear(); } number += 1; //获取视频速率 var speedSpan = $(".speedBox>span").text().replace("X ",""); if(speedSpan != speed){ switch(speed){ case "1.0": $("div[rate='1.0']").click(); break; case "1.25": $("div[rate='1.25']").click(); break; case "1.5": $("div[rate='1.5']").click(); break; } } //判断音量 var volume = parseInt($(".volumeBox .passVolume")[0].style.height); if(volume > 0 && vol == true){ $(".volumeIcon").click(); } //获取进度条 var pass = $(".passTime"); //获取答题框状态 var dialog = $(".el-dialog__wrapper.dialog-test")[0]; if(dialog != undefined){ if(answer == false){ //移除答题框 $(".v-modal").remove(); $(".el-dialog__wrapper.dialog-test")[0].remove(); $("body").removeClass("el-popup-parent--hidden"); }else{ //如果是单选题或者判断题选择一个答案否则移除答题框 if($(".title-tit").text() == "【单选题】" || $(".title-tit").text() == "【判断题】"|| $(".title-tit").text() == "【多选题】"){ //选择选项的第一个用于获取正确答案 $(".topic-list .topic-option-item")[0].click(); //取消已经选择的 $(".topic-list .topic-option-item").each(function(){ if($(this).hasClass("active")){ $(this).click(); } }) //选择答案 let answer = $(".answer span").text().split(","); $.each(answer,function(index,value){ let option = value.charCodeAt() - 65; $(".topic-list .topic-option-item")[option].click(); }); //延时关闭弹窗 setTimeout("$(\".el-dialog__wrapper.dialog-test .el-dialog__footer .dialog-footer .btn\")[0].click();",1000); }else{ //如果不是这3个选项移除答题框以后弹框将不会出现 $(".v-modal").remove(); $(".el-dialog__wrapper.dialog-test")[0].remove(); $("body").removeClass("el-popup-parent--hidden"); } } let play = $(".bigPlayButton.pointer")[0]; //如果暂停继续播放 if(play.style.display == "block"){ play.click(); } }else{ let play = $(".bigPlayButton.pointer")[0]; //如果暂停继续播放 if(play.style.display == "block"){ play.click(); } } //判断播放进度是否大于83% if(parseInt(pass[0].style.width) > percent){ //切换下一个视频 $("#nextBtn").click(); } console.log("执行第"+ number + "次"); } function StartOrStop(){ var rains = $("#rains"); //获取播放状态 var play = $(".bigPlayButton.pointer")[0]; if (startstatus == 0){ //开始脚本 timer = setInterval(start, 3000); //已经暂停 点击开始按钮 block时视频播放暂停 if(play.style.display == "block"){ play.click(); } startstatus = 1; rains.text("已开"); rains.css("color","blue"); console.log("刷课开始执行"); }else if (startstatus == 1) { //停止脚本 clearInterval(timer); //已经播放 暂停播放 if(play.style.display == "none"){ play.click(); } startstatus = 0; rains.text("已关"); rains.css("color","red"); console.log("刷课已停止"); } } //执行监听方法 默认填入代码后开启脚本 StartOrStop();
6.看到
视频左上角出现“已开”
,说明操作正确。7.此时就可以愉快的奔放咯。
2019年11月7日更新(已失效)
有同学反映最近脚本没法用了,这是由于智慧树进行了改版而脚本还没改版。然而我本人又懒得重新写一个新的脚本,所以想到了一个折中的办法 嘻嘻~
进入智慧树的在线学习页面,点击右上角返回旧版,再根据下面的流程做一遍即可继续学习奔放。
特性
- 自动 1.5 倍速播放
- 自动静音
- 自动切换流畅画质(摸鱼时网络更加通畅)
- 自动关闭网课中弹题
- 自动切换下一节、下一章
- 自动点击之前,会随机等待0~60秒,模拟人类操作延迟
使用方法
- 下载Chrome(理论上只要有控制台的浏览器皆可。)
-
打开智慧树视频播放地址
-
按下F12
-
找到Console
-
输入以下代码后回车
(function () { const MAX_DELAY = 60 // 切课时的最大延迟,单位:秒 const sleep = (time) => new Promise((resolve) => setTimeout(resolve, time)) const start = async function () { console.log('智慧树助手已启动') while (true) { console.log('正在检查') const delay = Math.floor(Math.random() * MAX_DELAY * 1000) + 1000 if (!/1\.5/.test($('.speedBox').attr('style'))) { console.log('提升到1.5倍速') $('.speedTab15').click() } if ($('.volumeBox').find('.passVolume').width() != 0) { console.log('静音') $('.volumeIcon').click() } if ($('.playButton').length > 0) { console.log('点击播放') $('.playButton').click() } if ($('.popbtn_cancel')[0]) { console.log('发现弹题,将在' + delay / 1000 + ' 秒后点击关闭') await sleep(delay / 2) const iframe = document.getElementById('tmDialog_iframe').contentWindow iframe.document.querySelector('.answerOption label').click() await sleep(delay / 2) $('.popbtn_cancel').click() } if ($('.current_play').find('.progressbar').width() == $('.current_play').find('.progressbar_box').width()) { console.log('本节完成,' + delay / 1000 + ' 秒后将切到下一课') await sleep(delay) $('.current_play').nextAll('.video')[0].click() } await sleep(1000) } } start() }())
6.看到
智慧树助手已启动
,说明操作正确。7.此时就可以愉快的奔放咯。
注意
本文旨在讨论研究算法,请勿非法使用,使用者出现任何问题概不负责。本人保留法律追究的权利。