https://blog.csdn.net/AliceMadao/article/details/108351453?utm_medium=distribute.pc_feed_404.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecas
// ==UserScript==
// @name 超星學習通刷課
// @namespace rainerosion
// @version 1.3.2
// @description 超星學習通刷課腳本 自動靜音 自動1.25倍播放 自動答題(超星學習通視頻彈出的題目隨便選擇沒事)
// @author rainerosion
// @match *://studyh5.zhihuishu.com/videoStudy.html*
// @require https://base1.zhihuishu.com/able-commons/resources/uploader/client/js/jquery/jquery-1.7.2.min.js
// @grant unsafeWindow
// @license GPL3.0
// @supportURL https://github.com/rainerosion/zhihuishu
// ==/UserScript==
(function($) {
//監聽點擊事件
$("html").on("click","#rains", function () {
StartOrStop();
});
$.noConflict(true);
//定時器
var timer;
//++++++++ 以下為可設置的參數 ++++++++++
//初始狀態 0 開啟 1關閉
var startstatus = 0;
//次數
var number = 0;
//視頻播放到91%時候切換下一個
var percent = 91;
//速率
var speed = "1.25";
//靜音
var vol = true;
//答題?不答題將會移除答題框
var answer = true;
//++++++++ 可設置的參數結束 ++++++++++
//查找節點
var tips = $("body");
console.log(tips[0])
//創建新節點
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("id","rains");
option.text("Rains");
//插入節點到頁面
tips[0].parentNode.insertBefore(option[0],tips[0]);
//函數
function start(){
if(number % 20 == 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() == "【多選題】"){
//選擇選項的第一個用於獲取正確答案
let list = $(".topic-list .topic-option-item");
list[0].click();
//取消已經選擇的
list.each(function(){
if($(this).hasClass("active")){
$(this).click();
}
})
//選擇答案
let answer = $(".answer span").text().split(",");
for(let i in answer){
let option = answer[i].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時視頻播放暫停
startstatus = 1;
rains.text("已開");
rains.css("color","blue");
console.log("刷課開始執行");
if(play.style.display == "block"){
play.click();
}
}else if (startstatus == 1) {
//停止腳本
clearInterval(timer);
//已經播放 暫停播放
startstatus = 0;
rains.text("已關");
rains.css("color","red");
console.log("刷課已停止");
if(play.style.display == "none"){
play.click();
}
}
}
//執行監聽方法 默認填入代碼后開啟腳本
StartOrStop();
})(jQuery);