a script for automating video play for 雨课堂
当前为
// ==UserScript==
// @name 福大雨课堂刷课-数研院
// @namespace http://tampermonkey.net/
// @version 0.2.1
// @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";
let videoNode = document.querySelector("video");
jsq = setInterval(function() {
let w = $("span.text:eq(1)")[0]; // element for process
console.log(title + '---' + w.innerText);
if (w.innerText == "完成度:100%" || videoNode.ended == true) {
clearInterval(jsq);
console.log("close the interval")
window.location.replace(currentURL)
}
}, 3000);
}, 3000);
}
}, 8000);
})();