Greasy Fork

Greasy Fork is available in English.

四川学法考试-后续更新自动考试

登录账号自动学习!

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         四川学法考试-后续更新自动考试
// @namespace    http://tampermonkey.net/
// @version      2024-10-12
// @description  登录账号自动学习!
// @author       zy
// @match       http*://xxpt.scxfks.com/study/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=cnblogs.com
// @require      https://unpkg.com/sweetalert/dist/sweetalert.min.js
// @grant        GM_addStyle
// @license      MIT
// ==/UserScript==
(function() {
    'use strict';

    // Your code here...
    let log = console.log;
    log("loading");
    let curIndex = 0;
    let done = false;
    function main() {
        log("main...");
        if(!done){
             study();
        }
    }
    //学法
    function study(){
         log("学习中")
         let pathName = window.location.pathname;
		 if(pathName.includes("index")){
			 log("首页");
			 let allFinish = true;
             let unFinishEle = null;
			 let cols = document.getElementsByClassName('card current');
             let navs = document.getElementsByClassName('film_focus_nav')[0].children;
			 for(let i =0;i<cols.length;i++){
                 log( cols[i].children[1].children[1].className)
                 if( cols[i].children[1].children[0].children[1].children[0].innerText !== '100%'){
                     unFinishEle = cols[i].children[1].children[1];
                     allFinish = false;
                     log(allFinish)
                     break;
                 }
			 }
             if(unFinishEle){
                 unFinishEle.click();
             }else{
                 if(curIndex<navs.length){
                     curIndex++;
                     navs[curIndex].click();
                     setTimeout(()=>{
                     study();
                     },100)
                 }

             }
		 }else if(pathName.includes("course")&&!pathName.includes("chapter")){
            log('学习课程');
              let unFinishEle = null;
             let allFinish = true;
              let cols = document.getElementsByTagName('table');
             for(let i = 2;i<cols.length-2;i++){
                let col = cols[i].getElementsByClassName('title')[0].children[1];
                if(col.innerText !== '获得0.5学分'){
                allFinish = false;
                unFinishEle = col;
                    break;
                }

             }
             if(unFinishEle){
              unFinishEle.click();
             }
         }else if(pathName.includes("chapter")){
                 let allFinish = false;
                 const obEle = document.getElementsByClassName('chapter-score')[0];
                 log(obEle.innerText);
               if(obEle.innerText !== '每日最多学习5分,您已到达今日上限'){
                 const nextChapter = document.getElementsByClassName("next_chapter")[0];
                 const observer = new MutationObserver((mutations) => {
                   if(nextChapter){
                       nextChapter.click();
                  }else{
                      window.location.href ='http://xxpt.scxfks.com/study/index';
                  }
                     observer.disconnect();
                  });
                const config = {
                      attributes: true,
                  };
             observer.observe(obEle,config);
             }else{
              done = true;
             }
                  }
    }
	  if (document.readyState === "complete") {
        // DOM 已经加载完成
        main();
    } else {
        // DOM 还未加载完成
        // document.addEventListener("DOMContentLoaded", main);
        window.addEventListener("load", main);
    }
	    document.addEventListener("keydown", function (event) {
	        log("keydown", event.code);
	        if (event.code === "KeyG") {
	            // exam();
	        } else if (event.code === "KeyT"){
	            let ms = 3000;
	        }
	    });
})();