用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"
相关文章推荐
- 推荐阅读的js快速判断IE浏览器(兼容IE10与IE11)
- JS闭包分享
- 利用chartjs生成图表
- JS如何判断是否为ie浏览器的方法(包括IE10、IE11在内)
- ExtJS4.2学习(21)动态菜单与表格数据展示操作总结篇2
- 解决json_encode中文UNICODE转码问题
- 超好用的json解析工具——Gson项目使用详解
- 比Gson解析速度快10倍!——Json解析神器Jackson使用介绍
- JSP验证码动态生成方法
- JSP实现计算器功能(网页版)
- JSP隐含对象response实现文件下载
- 学习正则表达式(js、C#)
- 详解JavaScript基于面向对象之继承
- 详解JavaScript正则表达式之RegExp对象
- javascript日期验证之输入日期大于等于当前日期
- JavaScript 模块的循环加载实现方法
- JavaScript模块化开发之SeaJS
- JavaScript代码判断点击第几个按钮
- JavaScript判断按钮被点击的方法
- 分享Javascript实用方法二