0
点赞
收藏
分享

微信扫一扫

用JS写个简单的抢课脚本


<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" οnsubmit="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"

举报

相关推荐

0 条评论