您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
济达教育 自动视频播放 刷课助手
// ==UserScript== // @name 济达教育网课助手 // @namespace http://tampermonkey.net/ // @version 0.2 // @description 济达教育 自动视频播放 刷课助手 // @author Nuzoul // @license MIT // @match https://www.jetjy.com/* // @icon https://www.jetjy.com//favicon.ico // @grant none // ==/UserScript== (function () { 'use strict'; const playercontainerId = 'playercontainer'; const videoSelector = 'video.jw-video,video.vjs-tech'; const courseSelector = 'div.el-row div.el-col'; const messageBoxWrapperSelector = '.el-message-box__wrapper'; const confirmButtonSelector = '.el-message-box__btns button'; const courseListItemSelector = '.courseMenuList li'; const progressSelector = '.f-right'; const stateIdle = 'jw-state-idle'; const statePaused = 'jw-state-paused'; const statePlaying = 'jw-state-playing'; const autoPlayVideo = function () { const playerContainer = document.getElementById(playercontainerId); if (!playerContainer || playerContainer.classList.contains(statePlaying)) { return; } if (playerContainer.classList.contains(stateIdle) && !jumpToCourse()) { console.log("当前页面已全部播放完成...."); return; } if (!playerContainer.classList.contains(statePlaying)) { console.log('当前暂停播放'); const videoElement = document.querySelector(videoSelector); if (videoElement) { playVideo(); } } const messageBoxWrapper = document.querySelector(messageBoxWrapperSelector); if (messageBoxWrapper && window.getComputedStyle(messageBoxWrapper).display !== 'none') { const confirmButton = document.querySelector(confirmButtonSelector); if (confirmButton) { confirmButton.click(); location.reload(); } } }; function playVideo() { let playTimes = 1; const intervalId = setInterval(() => { if(playTimes >= 5){ console.log(`播放失败,尝试播放次数:${playTimes}`); clearInterval(intervalId); return; } const playerContainer = document.getElementById(playercontainerId); const videoElement = playerContainer.querySelector(videoSelector); if(!videoElement){ console.log("videoElement not exist"); clearInterval(intervalId); } if (playerContainer && videoElement && !playerContainer.classList.contains(statePlaying)) { console.log(`第 ${playTimes} 次尝试播放`); videoElement.muted = true; videoElement.play(); } else { clearInterval(intervalId); } playTimes++; }, 1000); } function jumpToCourse() { const listItems = document.querySelectorAll(courseListItemSelector); const listItemsArray = Array.from(listItems); const result = listItemsArray.some((item, index) => { const progressElement = item.querySelector(progressSelector); const progressText = progressElement.textContent.trim(); if (progressText === '100%') { //console.log(`第 ${index + 1} 个课程已完成,跳过`); } else { const courseLi = item.querySelector(courseSelector); courseLi.click(); console.log(`点击了第 ${index + 1} 个课程`); return true; } return false; }); return result; } window.onload = function () { const intervalId = setInterval(autoPlayVideo, 6000); }; })();