JavaScript页面Action自动化学习

一直都知道JavaScript很强大,但是需要找到一些有趣的目的,练一下手。

国科大抢课刷课程序

这是个抢课脚本,大概理解一下其中一段代码的思路:

///无限刷课版
var courseArr = [
'712064H',
'888888H'
];
var intId = setInterval(function () {
    var frame = window.parent.frames.MainFrame;
    frame.location.reload();
    var hasCheck = false;
    for (var i = courseArr.length - 1; i >= 0; i--) {
        var course = null;
        var sel = frame.document.getElementsByTagName('a');
        for (var j = sel.length - 1; j >= 0; j--) {
            if (sel[j].innerHTML == courseArr[i]) {
                course = sel[j].parentNode.parentNode.getElementsByTagName('input')[0];
            }
        }
        if (course && !course.disabled) {
            course.checked = true;
            hasCheck = true;
        }
    }
    if (hasCheck) {
        frame.document.getElementById('SureBtn').click();
        clearInterval(intId);
    }
}, 5000);

首先是理解一下最后一个5000,就是循环5000次吧,所以作者给一个“无限循环刷课版”的名字。然后我们看它定义的参数,就是courseArr,就是两个课的代码,然后定义一个intId,其实就是直接执行一个function,它直接先获取frame,然后定义一个变量hasCheck,其实是一个boolean参数,用来判断到底勾选了课程没有,然后需要做的就是勾选所需要的课程了,只要所有希望选的课程都被Checked了,那么就直接自动点击SureBtn,应该就是提交按钮。

你可能感兴趣的:(JavaScript页面Action自动化学习)