您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
只针对雨课堂视频进行自动播放,点击左侧边栏的开始刷课即可自动刷课,刷课期间请勿跳转页面!!!
当前为
// ==UserScript== // @name 雨课堂刷课脚本 // @namespace http://tampermonkey.net/ // @version 0.1.1 // @description 只针对雨课堂视频进行自动播放,点击左侧边栏的开始刷课即可自动刷课,刷课期间请勿跳转页面!!! // @author 中原工学院-轻化211-风之子 // @license MIT // @match https://www.yuketang.cn/* // @icon http://newqi.cn/images/logo128.ico // @grant GM_addStyle // ==/UserScript== // 雨课堂刷课脚本 let shuake = {}; shuake.shuake = function () { // 用于判断不同的课程 let baseUrl = location.href; // 根据客户端记录的URL判别刷到那一集了,不影响第一批用户的刷课进度。 if (localStorage.getItem('classIndex')) { localStorage.setItem(baseUrl, +localStorage.getItem('classIndex')); localStorage.removeItem('classIndex'); } let count = +localStorage.getItem(baseUrl) || 0; let classList = []; // 用于标记视频是否播放完毕 let play = true; main(); function main() { autoSlide(count).then(() => { let list = document.querySelector('.logs-list').childNodes; console.log('刷课状态:第' + count + 1 + '个/' + list.length + '个'); classList[count] = list[count].querySelector('.content-box').querySelector('section'); let classInfo = classList[count].querySelector('.tag').querySelector('use').getAttribute('xlink:href'); if (classInfo.includes('shipin') && play === true) { play = false; console.log(classList[count]); classList[count].click(); setTimeout(() => { const video = document.querySelector('video'); console.log('第' + count + 1 + '个:进入了视频区'); let currentTime = Date.now(); let timer1 = setInterval(() => { console.log('已播放时间:' + (Date.now() - currentTime) / 1000 + 's 视频时长:' + video.duration + 's'); if (Date.now() - currentTime >= (video.duration + 40) * 1000) { count++; localStorage.setItem(baseUrl, count); play = true; history.back(); main(); clearInterval(timer1); } }, 10000); }, 1000) } else if (count == list.length && play === true) { document.querySelector('.myli').innerHTML = '<span>刷完了~</span>'; return; } else if ((classInfo.includes('tuwen') || classInfo.includes('taolun') || classInfo.includes('zuoye')) && play === true) { console.log('第' + count + 1 + '个:不是视频,已跳过'); count++; localStorage.setItem(baseUrl, count); main(); } }) } // 根据视频集数,自动下拉刷新集数 async function autoSlide(count) { let frequency = parseInt((count + 1) / 20) + 1; for (let i = 0; i < frequency; i++) { await new Promise((resolve, reject) => { setTimeout(() => { document.querySelector('.viewContainer').scrollTop = document.querySelector('.el-tab-pane').scrollHeight; resolve(); }, 1000) }) } } } shuake.addButton = function () { let ul = document.querySelector('.left__menu').querySelector('.top').querySelector('ul'); let li = document.createElement('li'); li.classList.add('myli'); li.innerHTML = '<span>开始刷课</span>'; ul.appendChild(li); li.addEventListener('click', function () { shuake.shuake(); li.innerHTML = '<span>刷课中~</span>'; li.classList.add('active'); }) } // 主程序 shuake.main = function () { shuake.addButton(); }; // 添加css样式 function addStyle() { let css = ` .myli{ height:50px; line-height:50px; } .myli:hover{ background:yellow; color:#000; cursor:pointer; } .active{ background:#1c223b; color:#fff; } `; GM_addStyle(css); } (function () { 'use strict'; shuake.main(); addStyle(); alert('刷课脚本第一次更新,目前支持雨课堂多课程刷课的记忆功能,请第一批老用户在看到此信息后,先在原来的刷课课程上点击开始刷课初始化一下刷课数据,后续就不用任何操作了,初次安装的新用户可无视这条消息,两天后将第二次更新,去掉该弹窗,感谢大家使用。') })()
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址