雨课堂刷课脚本

只针对雨课堂视频进行自动播放,点击左侧边栏的开始刷课即可自动刷课,刷课期间请勿跳转页面!!!

目前为 2023-05-19 提交的版本。查看 最新版本

// ==UserScript==
// @name         雨课堂刷课脚本
// @namespace    http://tampermonkey.net/
// @version      0.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 count = +localStorage.getItem('classIndex') || 0;
  let classList = [];
  // 用于标记视频是否播放完毕
  let play = true;

  main();
  function main() {
    autoSlide(count).then(() => {

      let list = document.querySelector('.logs-list').childNodes;
      console.log(list);
      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 + '个:进入了视频区');
          let currentTime = Date.now();
          let timer1 = setInterval(() => {
            console.log('已播放时间:' + (Date.now() - currentTime) / 1000 + ' 视频时长:' + video.duration);
            if (Date.now() - currentTime >= (video.duration + 40) * 1000) {
              count++;
              localStorage.setItem('classIndex', count);
              play = true;
              history.back();
              main();
              clearInterval(timer1);
            }
          }, 10000);
        }, 1000)
      } else if (count == list.length && play === true) {
        return;
      } else if ((classInfo.includes('tuwen') || classInfo.includes('taolun') || classInfo.includes('zuoye')) && play === true) {
        console.log('第' + count + '个:不是视频,已跳过');
        count++;
        localStorage.setItem('classIndex', 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 () {
    localStorage.setItem('running', true);
    shuake.shuake();
    li.innerHTML = '<span>刷课中~</span>';
  })
}




// 主程序
shuake.main = function () {
  shuake.addButton();
};




// 添加css样式
function addStyle() {
  let css = `
    .myli{
      height:50px;
      line-height:50px;
    }
    .myli:hover{
      background:yellow;
      color:#000;
      cursor:pointer;
    }
  `;
  GM_addStyle(css);
}



(function () {
  'use strict';
  shuake.main();
  addStyle();
})()

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址