用JS写个简单的抢课脚本

来源:互联网 发布:iphone pro画笔软件 编辑:程序博客网 时间:2024/05/16 02:35

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">环境:火狐浏览器   插件:Greasemonkey 与 ReloadEvery</span>


在插件配置好之后就可以进行操作。由于抢课系统已关闭,这里我就写一个小程序来模拟下

其中Greasemonkey是用于储存脚本,ReloadEvery是用于不断刷新运行脚本

我这里假设html代码为网页的代码,JS为我们所嵌入运行的代码


模拟抢课首页:index.html

<meta charset="utf-8"><form action="01.html" action="post" id="form1"><table><tr><td><input type="checkbox" id="checkbox" value="1.1" name="test">1.1</td><td>1.2</td><td>1.3</td></tr><tr><td>2.1</td><td>2.2</td><td>2.3</td></tr><tr><td>3.1</td><td>3.2</td><td>3.3</td></tr></table><table><tr><td>1.11</td><td>1.22</td><td>1.33</td></tr><tr><td>2.11</td><td>2.22</td><td>2.33</td></tr><tr><td>3.11</td><td>3.22</td><td>3.33</td></tr></table><input type="submit" id="selOK" vaule="提交"></form><script>function test(){var flag = false;var trs = document.getElementById('form1').getElementsByTagName('table')[0].getElementsByTagName('tr');for(var i = 0; i < trs.length; ++i){var tds = trs[i].getElementsByTagName('td')[0];if((tds.innerHTML != "1.2")) {var tdsTmp = trs[i].getElementsByTagName('td');alert(tdsTmp[0].getElementsByTagName('input')[0].value);tdsTmp[0].getElementsByTagName('input')[0].checked=true;flag = true;break;}}if (flag == true) {document.getElementById('selOK').click();alert('666');}}setInterval(test, 2500);</script>


中间跳转页:01.html

<script>window.location.href="selected.html";</script>


抢课提交页:selected.html

<meta charset="utf-8"><form action="index.html" onsubmit="javascript:alert('选课成功,即将返回继续选课');"><input type="submit" value="确定选课" id="selOk"></form><script>var sel = document.getElementById('selOk');sel.click();</script>


重点是:1、获取节点getElementById 与 getElementsByTagName

2、在JS提交 xxx.click() 或 xxx.submit()

3、中转站跳转返回 window.location.href="xxxx.xx"


6 1