福建华博继续教育自动填验证--Microsoft Edge版本 108.0.1462.46 (正式版本) (64 位)有效,360浏览器10内核63.0.3292.129无效

福建继续教育--自动过计算题验证

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         福建华博继续教育自动填验证--Microsoft Edge版本 108.0.1462.46 (正式版本) (64 位)有效,360浏览器10内核63.0.3292.129无效
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  福建继续教育--自动过计算题验证
// @author       SuperW
// @match        *://*.59iedu.com/*
// @match        https://fjysxhpx.59iedu.com/play/*
// @grant        none
// @license MIT
// ==/UserScript==

(function () {

    console.log("****脚本运行了*****");
    //保存原函数的引用
    let clr = window.clearInterval;
    window.clearInterval = (id) => {
        if (id != myID) {
            //调用原函数
            clr(id);
            //这里不能用clearInterval,会爆堆栈
        }
    }
    let myID =setInterval(function(){
        console.log("脚本运行中……")
        function jisuan(x,y,z)
        {
            var s;
            x=Number(x);
            z=Number(z);
            if (y=="+"){s=x+z;}
            else if (y=="-")
            {s=x-z;}
            else if (y=="x")
            {s=x*z;}
            else if (y=="÷")
            {s=s/z;};
            return s;
        };
        //判断验证码页面是否出现
        var zt=document.querySelector('.vjs-play-control > span:nth-child(2)')?.textContent;
        var question = document.querySelector(".d-qus-body");
        if(zt=="播放"&&question==null){
            document.querySelector('.vjs-play-control').click()}
        if(question!=null){
            console.log("验证页面出现了");
            // 提取题目输出:例"2 x 5 = ?"
            let qu=document.querySelector(".d-qus-body").innerText;
            //提取题目并进行计算
            //let qu = "2 x 5 = ?"
            console.log('获取题目:',qu);
            console.log(qu[0],qu[2],qu[4]);
            let a=jisuan(qu[0],qu[2],qu[4]);
            console.log("计算结果:",a);
            // 提取A选项答案
            let ansA=document.querySelector('div.d-slt:nth-child(1) > label:nth-child(1) > span:nth-child(4)')?.innerText;
            // A选项是否被选中
            let chA=document.querySelector('div.d-slt:nth-child(1) > label:nth-child(1) > input:nth-child(1)');
            //  提取B选项答案
            let ansB=document.querySelector('div.d-slt:nth-child(2) > label:nth-child(1) > span:nth-child(4)')?.innerText;
            // B选项是否被选中
            let chB=document.querySelector('div.d-slt:nth-child(2) > label:nth-child(1) > input:nth-child(1)');
            //  提取C选项答案
            let ansC=document.querySelector('div.d-slt:nth-child(3) > label:nth-child(1) > span:nth-child(4)')?.innerText;
            // C选项是否被选中
            let chC=document.querySelector('div.d-slt:nth-child(3) > label:nth-child(1) > input:nth-child(1)');
            //  提取D选项答案
            let ansD=document.querySelector('div.d-slt:nth-child(4) > label:nth-child(1) > span:nth-child(4)')?.innerText;
            // D选项是否被选中
            let chD=document.querySelector('div.d-slt:nth-child(4) > label:nth-child(1) > input:nth-child(1)');
            console.log(ansA,ansB,ansC,ansD);
            console.log(chA.checked,chB.checked,chC.checked,chD.checked);
            //查找答案的位置并选中正确选项
            if (a==ansA){
                chA.checked=true;
                chA.click();
                console.log("点击了正确答案A");
            }
            else if (a==ansB){
                chB.checked=true;
                chB.click();
                console.log("点击了正确答案B");
            }
            else if (a==ansC){
                chC.checked=true;
                chC.click();
                console.log("点击了正确答案C");
            }
            else if (a==ansD){
                chD.checked=true;
                chD.click();
                console.log("点击了正确答案D");
            };
            //点击提交答案按钮			//延时0.5秒
            setTimeout(document.querySelector('.blue').click(),500);
            //点击关闭窗口按钮			//延时0.5秒
            setTimeout(document.querySelector('.blue').click(),500);
        };
    }, 3000);

})();