更新 qingshuxuetang_auto_play.user.js

This commit is contained in:
竟康 2025-11-24 16:04:26 +08:00
parent 5435be49e6
commit 33128b5c7e
1 changed files with 90 additions and 90 deletions

View File

@ -1,90 +1,90 @@
// ==UserScript== // ==UserScript==
// @name 平顶山学院(青书学堂)自动学习脚本 // @name 平顶山学院(青书学堂)自动学习脚本
// @namespace http://tampermonkey.net/ // @namespace http://tampermonkey.net/
// @version 2025-11-24 // @version 2025-11-24
// @description try to take over the world! // @description try to take over the world!
// @author You // @author You
// @match https://degree.qingshuxuetang.com/pdsu/Student/Course/CourseStudy* // @match https://degree.qingshuxuetang.com/pdsu/Student/Course/CourseStudy*
// @match https://degree.qingshuxuetang.com/pdsu/Student/Course/CourseShow* // @match https://degree.qingshuxuetang.com/pdsu/Student/Course/CourseShow*
// @icon https://www.google.com/s2/favicons?sz=64&domain=qingshuxuetang.com // @icon https://www.google.com/s2/favicons?sz=64&domain=qingshuxuetang.com
// @grant none // @grant none
// ==/UserScript== // ==/UserScript==
(function () { (function () {
"use strict"; "use strict";
const url = window.location.href; const url = window.location.href;
console.log("插件加载完成,等待界面渲染"); console.log("插件加载完成,等待界面渲染");
const onPageLoad = () => { const onPageLoad = () => {
console.log("页面加载完成,开始执行脚本"); console.log("页面加载完成,开始执行脚本");
if (url.includes("CourseStudy")) { if (url.includes("CourseStudy")) {
console.log("进入准备阶段"); console.log("进入准备阶段");
// 等待3秒后点击下一个未播放的视频 // 等待3秒后点击下一个未播放的视频
setTimeout(() => { setTimeout(() => {
// 准备阶段 // 准备阶段
const list = document.querySelector("#list"); const list = document.querySelector("#list");
if (!list) { if (!list) {
console.log("list element not found"); console.log("list element not found");
return; return;
} }
const items = list.querySelectorAll("li > a.node"); const items = list.querySelectorAll("li > a.node");
console.log("获取到课程数量:", items.length); console.log("获取到课程数量:", items.length);
if (items.length === 0) { if (items.length === 0) {
console.log("课程数量为空,结束脚本"); console.log("课程数量为空,结束脚本");
return; return;
} }
for (const item of items) { for (const item of items) {
if (!item.querySelector(".study_being")) { if (!item.querySelector(".study_being")) {
console.log( console.log(
"点击下一个未播放的视频:" + "点击下一个未播放的视频:" +
item.querySelector(".title").innerText item.querySelector(".title").innerText
); );
item.click(); item.click();
return; return;
} }
} }
console.log("所有视频均已播放完毕,结束脚本"); console.log("所有视频均已播放完毕,结束脚本");
}, 3000); }, 3000);
} else if (url.includes("CourseShow")) { } else if (url.includes("CourseShow")) {
console.log("进入学习阶段"); console.log("进入学习阶段");
// 学习阶段 // 学习阶段
const videoInterval = setInterval(() => { const videoInterval = setInterval(() => {
const video = document.querySelector("#vjs_video_3_html5_api"); const video = document.querySelector("#vjs_video_3_html5_api");
if (!video) { if (!video) {
console.log("视频元素未找到,结束脚本"); console.log("视频元素未找到,结束脚本");
return; return;
} }
if (video.paused && video.currentTime === 0) { if (video.paused && video.currentTime === 0) {
video.play(); video.play();
console.log("视频暂停,正在播放视频"); console.log("视频暂停,正在播放视频");
return; return;
} }
if (video.currentTime >= video.duration - 1) { if (video.currentTime >= video.duration - 1) {
console.log("视频播放结束,返回准备页面"); console.log("视频播放结束,返回准备页面");
clearInterval(videoInterval); clearInterval(videoInterval);
document document
.querySelector( .querySelector(
"body > div.wrapper > div:nth-child(66) > ol > li:nth-child(3) > a" "body > div.wrapper > div:nth-child(66) > ol > li:nth-child(3) > a"
) )
.click(); .click();
} }
if (video.playbackRate === 1) { if (video.playbackRate === 1) {
console.log("设置视频为2倍速播放"); console.log("设置视频为2倍速播放");
video.playbackRate = 2; video.playbackRate = 2;
} }
console.log("视频正在播放,当前时间:" + video.currentTime); console.log("视频正在播放,当前时间:" + video.currentTime);
}, 3000); }, 3000);
} }
}; };
// 等待页面加载完成后执行 // 等待页面加载完成后执行
window.addEventListener("load", onPageLoad); window.addEventListener("load", onPageLoad);
})(); })();