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,应该就是提交按钮。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • 你做饭的时候,如果要调节火量,有时得弯腰看。今天给大家介绍的这款燃气灶,可以让你省去这道工序哦! 由设计师:Liu...
    晶品TRIZ阅读 417评论 0 0
  • 故事与诗,你必须有一个。 远方和酒,总有一个会拥有。 再苦再难,日子都会过, 没有谁是谁的不可代替。 再怎么爱,伤...
    让我路过让一让阅读 302评论 0 0
  • 一,《陈寅恪先生年谱长编》,中华书局出版。 本书为“清华大学国学研究院四大导师年谱长编系列”中的一部,由陈老先生的...
    马风阅读 1,708评论 8 19
  • ——2014年5月《ELLE》 当我们谈论胡歌,首先想到的总会是他俊朗的外形。2006年的一场车祸改变了胡歌,留...
    hugh_diary阅读 532评论 0 1