1.起初
好烦,这个系统看视频需要一直点按键,还没有自动下一集的功能,于是就有了这个js代码
2.效果
- 实现自动点击是否观看,检测按键
- 自动播放下一集
3.代码(你需要下载油猴,打开管理面板,新建代码)
// ==UserScript==
// @name Auto Click Next Video with Logging
// @namespace http://tampermonkey.net/
// @version 0.1
// @description 自动点击下一集视频
// @author You
// @match https://zhdj.hnust.edu.cn/*
// @grant none
// ==/UserScript==
(function() {
function clickNextVideo() {
// 获取所有视频项的集合
const videoItems = document.querySelectorAll("#pane-1 > div.catalogue-wrapper > div > div > div > div");
var data_finsh = new Array();
// 遍历视频项,寻找第一个未完成的视频
for (let i = 0; i < videoItems.length; i++) {
const videoItem = videoItems[i];
const statusBox = videoItem.querySelector("div.status-box.finish");
// 检查视频是否已完成
if (statusBox && (statusBox.textContent.includes("100%") || statusBox.textContent.includes("已完成"))) {
console.log(`Video ${i} is completed.`);
data_finsh[i] = 1;
} else {
console.log(`Video ${i} 没有完成`);
data_finsh[i] = 0;
}
}
for (let i = 0; i < videoItems.length; i++) {
//检查视频是否已完成
if (data_finsh[i] == 0) {
var videoToPlay = document.querySelector("#pane-1 > div.catalogue-wrapper > div > div > div:nth-child(" + (i+1) + ")");
var video=document.querySelector("#mplayer-media-wrapper > div.video-wrapper > video");
if (videoToPlay&&video.paused==true) {
videoToPlay.click();
console.log(`点击视频元素 ${i}`);
break;
} else if(videoToPlay) {
console.log(`没有找到视频元素 ${i}`);
}
}
}
}
// 定义一个显函数用于自动点击按钮
function autoClickButton() {
// 查找指定的控件
var button = document.querySelector(
"body > div.el-message-box__wrapper > div > div.el-message-box__btns > button");
// 如果控件存在,则触发点击事件
if (button) {
console.log(`继续按键`);
button.click();
}
}
// 设置定时器,每隔一定时间检查是否有未观看的视频
setInterval(() => {
autoClickButton();
clickNextVideo();
}, 2000); // 每5秒检查一次
})();
4.谢谢观看
给一个关注吧