校园生活奇技淫巧——羽毛球场预订脚本的编写篇

——本文为博主原创,转载请注明出处

声明:本文为博主脚本编写的练手心得,一定程度上破坏了我校场地预定的公平性,在未经作者允许情况下请勿传播

  虽然综体、气膜馆、西体有很多的羽毛球场,然我清贵为体校,一直以来都一场难求,往往开始预约30秒后除了6点半的场次就都没有了。于是作为手残的程序员,笔者决定发挥自己的主观能动性嘿嘿嘿:)

  首先,我打开了预约场地的网页,然后就发现了一件非常重要的事情!它的url是这样的

http://50.tsinghua.edu.cn/gymbook/gymBookAction.do?ms=viewGymBook&gymnasium_id=3998000&item_id=4045681&time_date=2016-12-03&userType=

  里面居然有预定日期、场馆、场地!果然天下码农是一家,还是同行好!于是我们就可以根据设置这三个参数,任意的直接访问特定的预约网页。

  于是就坚定了我写脚本抢场地的信念:)

  然后我通过chrome F12大法找到了源码里的几个关键函数,调用selectFieldTime(obj)就可以直接选中预约表格中的obj单元格,点击预约按钮的时候触发的是saveOdder()函数,确认预约信息并选择支付方式的函数式changeSelected()。

  那么现在就是万事俱备只欠东风了。

具体步骤

  首先,在浏览器中创建一个书签栏的书签,修改书签,把书签地址改为下面的代码,并保存(按照需要自行修改)当然你也可以选择在浏览器的console里直接复制粘贴运行脚本代码。

javascript:
selectFieldTime(document.getElementById("overlayView").contentWindow.document.getElementById(‘resourceTable‘).rows[1].cells[2]);
saveOdder();
changeSelected();
void(0);

  上述代码中的rows[n]表示预定表格的第n行,cells[n]表示第n格(下标从0开始),比如我的代码只单选第1行第2格,需要多选单元格就复制粘贴一下selectFieldTime函数的调用,更改rows和cells的下标即可。

  像这样

  点击保存

  然后就可以进入页面,登录到预约网站后,新建标签页在浏览器地址栏输入以下网址(根据需要自行修改)

http://50.tsinghua.edu.cn/gymbook/gymBookAction.do?ms=viewGymBook&gymnasium_id=3998000&item_id=4045681&time_date=2016-12-03&userType=

  其中的time_date=后的日期改成你要预定的日期,这是气膜馆羽毛球场的预定地址,综体、西体或者其他场地类型的地址自行到网页中获取,就是进入预约该场地的页面(日期无所谓),把网页的地址复制下来,修改预定日期即可,再粘贴上去就行了,如果没开始预定网页会提示你预定还没开始,如果已经开始预定,则会出现下图的表格

  然后就是在预约开始的时候,刷新页面等页面显示完毕(页面中显示上述表格),直接点击你创建的脚本书签(考虑到网络问题,以及不想做得太傻瓜化以免更严重地破坏预约的公平性,没有采用计时器循环,这里用手动的方式)

  

  如果成功了会显示两个框,一个是选择支付方式,一个是确认支付,在选择支付方式的框点击取消(因为脚本已经帮你调用了changeSelected()函数,当然你想要现场支付也可以用dom操作在脚本调用changeSelected()函数之前更改一下支付方式的选项),然后在另一个框输入订场的信息,点击直接or稍后支付,之后就可以在订单中看到你刚才抢到的场地了。

同时建议先提前在网页上试一试(第二天6:30的场次基本都会有剩余的,可以用来测试)

三花

2016-11-30

时间: 2024-11-09 06:33:55

校园生活奇技淫巧——羽毛球场预订脚本的编写篇的相关文章

Linux crontab的使用方式,sh脚本的编写,sh脚本自动启动tomcat服务器,sh监控系统运行情况

1.如果想使用Linux crontab(类似java quartz),需要先启动crontab.关于crontab的启动.关闭.重启.重新载入配置的方式如下: /sbin/service crond start //启动服务 /sbin/service crond stop //关闭服务 /sbin/service crond restart //重启服务 /sbin/service crond reload //重新载入配置 2.crontab的命令介绍: A:添加crontab的命令是:c

听力笔记(四级长对话技巧(二)——校园生活类)

对于四级考生而言,与日常生活最亲近的是什么?校园生活! 这一长对话类型是四.六级听力借鉴老托福(TPO)的结果.所以,如果真题练完还觉不够的同学,可以搜索TPO的对话,进行平时的练习.     校园生活类常见词汇(摘录): library:图书馆       reading assignment:阅读任务 volume:卷 do research:做实验  teaching assistant:助教       revise:修改,修订 presentation:演讲   fail the ex

工程师技术(五):Shell脚本的编写及测试、重定向输出的应用、使用特殊变量、编写一个判断脚本、编写一个批量添加用户脚本

一.Shell脚本的编写及测 目标: 本例要求两个简单的Shell脚本程序,任务目标如下: 1> 编写一个面世问候 /root/helloworld.sh 脚本,执行后显示出一段话"Hello World!!"   2> 编写一个能输出系统信息的 /root/sysinfo 脚本,执行后依次输出当前红帽系统的版本信息.当前使用的内核版本.当前系统的主机名 方案: 规范Shell脚本的一般组成: 1> #! 环境声明(Sha-Bang)    2> # 注释文本 

v4l2驱动编写篇【转】

转自:http://blog.csdn.net/michaelcao1980/article/details/53008418 大部分所需的信息都在这里.作为一个驱动作者,当挖掘头文件的时候,你可能也得看看include/media/v4l2-dev.h,它定义了许多你将来要打交道的结构体. 一个视频驱动很可能要有处理PCI总线,或USB总线的部分.这里我们不会花什么时间还接触这些东西.通常会有一个内部一I2C接口,我们在这一系列的后续文章中会接触到它.然后还有一个V4L2的子系统接口.这个子系

Shell脚本初级练习篇

Shell脚本初级练习篇 脚本1 作用:创建10个1M的文件 [[email protected] script]# cat make_file.sh  #!/bin/bash # for i in $(seq 1 10);do     dd if=/dev/zero of=/data/test/test"${i}" bs=1M count=1 done 脚本2 作用:移走/data/test目录下大于100K的普通文件到/tmp目录下 [[email protected] scrip

深入理解表单脚本系列第一篇——表单对象

× 目录 [1]表单属性 [2]表单事件 [3]表单方法 前面的话 javascript最初的一个应用就是分担服务器处理表单的责任,打破处处依赖服务器的局面.尽管目前的web和javascript已经有了长足的发展,但web表单的变化并不明显.由于web表单没有为许多常见任务提供现成的解决方法,很多开发人员不仅会在验证表单时使用javascript,而且还增强了一些标准表单控件的默认行为.本文是表单脚本系列第一篇——表单对象 表单属性 在HTML中,表单是由form元素来表示的,而在javasc

bash脚本编程进阶篇

bash脚本编程进阶篇   函数.数组.字符串操作 一.函数:脚本编程中的函数与我们数学中的函数有着根本区别.这里的函数主要是为了实现过程式编程代码重用的作用.比如一个用于计算数字的函数,当我们需要使用计算数字的时候,直接调用这个函数过来而不必每一次计算数字都要自己重新写一次.因此,函数的主要功能可以概括为:便于实现模块化编程:便于代码的重用:使程序简洁.我们定义函数,可以分两种两种结构. 第一种函数结构,用function声明一个函数,后跟函数名.函数体用花括号括起来.第二种结构是用函数名跟小

8.15_Linux之bash shell脚本编程入门篇(二)以及文件查找和压缩的使用

bash shell脚本编程入门篇(二) read命令的使用 作用: 使用read来把输入值分配给一个或多个shell变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量,所有剩余单词都被分配给最后一个变量 EX.read -p "Enter a filename:" FILE 条件选择之if的使用 if的作用:选择执行(注意:if语句可嵌套) 单分支 if 判断条件;then 条件为真的分支代码 fi EX.单分支案例 双分支 if

生活中最幸福的时刻(扩展篇)

In life we are happiest when 每个人从我们诞生的那一刻起,直到最后的终老死去,生命中的每一天都会有不同的经历——成功.失败.喜怒哀乐.而人们最渴望得到的不是物质,而是幸福.幸福就像上帝派来的信使,你永远不知道他什么时候会来,而又什么时候会离开.而它带给我们的却是串联成生命中的最美妙的瞬间.那么,就让我们来回顾一下生命中那些最美丽,最幸福的时刻. Since the first day of us in this world, and to the last minut