automate_video_play_for_雨课堂

a script for automating video play for 雨课堂

目前为 2022-09-29 提交的版本。查看 最新版本

// ==UserScript==
// @name         automate_video_play_for_雨课堂
// @namespace    http://tampermonkey.net/
// @version      0.1.2
// @license      MIT
// @description  a script for automating video play for 雨课堂
// @author       camerayuhang or 风刮的唉 from FZU
// @match        https://changjiang.yuketang.cn/v2/web/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=yuketang.cn
// @grant        none
// @require      https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.js
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    setTimeout(() => {
      console.log("click to DropDown to show more Dom");
      let span = $("span.blue.ml20");
      span.click();
    }, 3000);
    setTimeout(() => {
      let currentURL = window.location.href;
      let sectionVideoNodes = $("#pane--1 .activity-info.el-tooltip use[*|href='#icon-shipin']").parent().parent().parent().parent();
      //let sectionVideoNodes = $("#pane--1 .activity-info.el-tooltip h2:contains('Video')").parent().parent().parent();
      console.log("get all nodes containing the video");
      for (let i = 0; i < sectionVideoNodes.length; i++) {
        const ele = sectionVideoNodes[i];
        let flagText = $(ele).children(".statistics-box").children(".aside").children().eq(1);
        if (flagText.text() !== "已完成") {
            console.log(ele);
            flagText.click();
            break;
        }
        setTimeout(function() {
          let title = $("div.title-fl span")[0].innerText;  // title
          setTimeout(function() {
            let pause_btn = $("xt-bigbutton.pause_show");  // pause button
            if (pause_btn.length == 1) {  //  determine whether the button is shown
              console.log("The video is paused---click to play");
              pause_btn.click();
            }
          }, 3000);

          // interval for lisening the video process
          let jsq = "my_interval"
          jsq = setInterval(function() {
            let w = $("span.text:eq(1)")[0];  // element for process
            console.log(title + '---' + w.innerText);
            if (w.innerText == "完成度:100%") {
              clearInterval(jsq);
              console.log("close the interval")
              window.location.replace(currentURL)
            }
          }, 3000);
        }, 3000);
      }
    }, 5000);
})();

QingJ © 2025

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