16倍速,自动答题,自动切换列表中的视频,后台播放,学时不更新的解决方法看下面
当前为
// ==UserScript==
// @name 国家中小学智慧教育平台刷课脚本(16倍速,自动答题,自动切换列表中的视频,后台播放,学时不更新的解决方法看下面)
// @namespace http://tampermonkey.net/
// @version 1.4
// @license CC BY-NC-SA
// @description 16倍速,自动答题,自动切换列表中的视频,后台播放,学时不更新的解决方法看下面
// @author HGGshiwo
// @match https://*.zxx.edu.cn/teacherTraining/courseDetail*
// @icon data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript==
(function () {
"use strict";
// function
const sleep = async (time) => {
var p = new Promise((resolve, reject) => {
setTimeout(() => {
resolve();
}, time);
});
return p;
};
const getActiveVideoAndPlay = async () => {
if (first) {
//如果第一次进入,请求用户的等待时间。
await sleep(2000);
first = false;
var input = prompt("设定等待时间,脚本运行正常的请直接点确定", waitTime);
try {
waitTime = parseInt(input);
localStorage.setItem("waitTime", input);
} catch (e) {
console.log(666, e);
waitTime = 1000;
}
} else {
await sleep(1000);
}
//点掉确认框
var confirmBtns = document.getElementsByClassName("fish-modal-confirm-btns")
if(confirmBtns.length) {
confirmBtns[0].getElementsByClassName("fish-btn")[0].click();
}
//获取当前视频位置
try {
var groups = document.getElementsByClassName("fish-collapse-item");
var groupNo = [...groups].findIndex((item) => {
return item.className.includes("active");
});
var resItems = groups[groupNo].getElementsByClassName("resource-item");
var resNo = [...resItems].findIndex((item) => {
return item.className.includes("active");
});
} catch (e) {
console.log(666, e);
getActiveVideoAndPlay();
return;
}
console.log(666, `开始观看: 第${resNo + 1}个视频,第${groupNo + 1}组`);
try {
var vid = document.getElementsByTagName("video")[0];
vid.muted = true;
vid.play();
document.querySelector("video").playbackRate = 16;
vid.addEventListener(
"ended",
async () => {
//计算下一个视频的位置
if (resNo + 1 == resItems.length) {
//看完了当前组
if (groupNo + 1 == groups.length) {
console.log(666, "看完了所有组, 退出");
} else {
//观看下一组
console.log(666, `点击下一组的第一个视频`);
document
.getElementsByClassName("fish-collapse-header")
[groupNo + 1].click();
await sleep(1000);
resItems =
groups[groupNo + 1].getElementsByClassName("resource-item");
resItems[0].click();
getActiveVideoAndPlay();
}
} else {
//观看当前组的下一个视频
resItems[resNo + 1].click();
console.log(666, `点击当前组的下一个视频`);
getActiveVideoAndPlay();
}
},
false
);
vid.addEventListener("pause", async () => {
if (document.hidden) {
vid.play(); //因为页面隐藏而暂停,则直接播放
return;
}
await sleep(waitTime);
var options = document.getElementsByClassName("nqti-option");
var i = 0;
while (options.length) {
i += 1;
options[0].click();
await sleep(waitTime);
var btns = document.getElementsByClassName("fish-btn");
if (btns.length === 1) {
btns[0].click();
} else {
btns[1].click();
}
await sleep(waitTime);
options = document.getElementsByClassName("nqti-option");
}
});
} catch (e) {
console.log(666, e);
getActiveVideoAndPlay(); //获取不到视频,再次调用
}
};
var first = true;
var waitTime = localStorage.getItem("waitTime");
waitTime = waitTime ? parseInt(waitTime) : "1000";
console.log(666, "刷课脚本开始运行");
getActiveVideoAndPlay();
})();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址