您的位置:首页 > Web前端 > JavaScript

用JS写个简单的抢课脚本

2015-12-13 00:53 831 查看
<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"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: