国开自动刷课

国家开放大学自动刷课

当前为 2021-05-23 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         国开自动刷课
// @namespace    ry版
// @version      202105231631
// @description  国家开放大学自动刷课
// @author       流浪的蛊惑
// @match        *://*.ouchn.cn/*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var i;
    var href = location.href;
    var isxyzt=true;
    if(href.indexOf("sectionid=")!=-1){
        var nextsection=function(){ //跳转下一专题
            var zt = document.getElementById("list").getElementsByTagName("span")[0].innerText.trim().replace(/ /g,""); //当前专题
            var ssectionid = "sectionid=";//开始区域
            var esectionid = "&";//结束区域
            var sectionid = href.substring(href.indexOf(ssectionid) + 10); //从开始代码向后取
            if(sectionid.indexOf(esectionid)==-1){
                esectionid = "\"";
            }
            sectionid ="sectionid="+sectionid.substring(0, sectionid.indexOf(esectionid));//从结束代码向前取
            var eqid=0;
            var ztlj=document.getElementsByClassName("listinfo")[0];
            for(i = 0; i < ztlj.getElementsByTagName("a").length; i++){
                if(ztlj.getElementsByTagName("a")[i].href.trim().indexOf(sectionid)!=-1){
                    eqid=i+1;
                }
            }
            if(eqid==0){ //sectionid未匹配时进行文本匹配
                for(i = 0; i < ztlj.getElementsByTagName("a").length; i++){
                    if(ztlj.getElementsByTagName("a")[i].innerText.trim().replace(/ /g,"").indexOf(zt)!=-1){
                        ztlj.getElementsByTagName("a")[i+1].click();
                        break;
                    }
                }
            }else{
                ztlj.getElementsByTagName("a")[eqid].click();
            }
        };
        var video = document.getElementsByTagName("video");
        if(video.length>0){ //是视频的话就播放
            isxyzt=false;
            video[0].src="https://vod.300hu.com/4c1f7a6atransbjngwcloud1oss/5d82e52a382171174942019585/v.f30.mp4"; //替换成15秒视频
            video[0].click();
            setInterval(function(){
                if(video[0].ended){
                    for(var i = 0; i < document.getElementsByTagName("li").length; i++){
                        if(document.getElementsByTagName("li")[i].className == "act"){
                            if(i == document.getElementsByTagName("li").length-1){
                                nextsection();
                            }else{
                                document.getElementsByTagName("li")[i+1].click();
                                break;
                            }
                        }
                    }
                }
            },3500);
        }else{ //文本直接翻页
            if(document.getElementsByTagName("li").length<7){
                setInterval(function(){
                    location.reload();
                },3500);
            }
            for(i = 0; i < document.getElementsByTagName("li").length-1; i++){
                if(document.getElementsByTagName("li")[i].className == "act"){
                    isxyzt=false;
                    setInterval(function(){
                        document.getElementsByTagName("li")[i+1].click();
                    },3500);
                    break;
                }
            }
        }
        if(isxyzt){
            nextsection();
        }
    }
})();