前几天跟朋友说打算写一个抢票助手,最后由于某些原因念头打消了。
可就在昨天晚上,才隐约记起一年前的自己曾经说过:一年后我一定要写一个12306的抢票助手!瞬间激情澎湃,甚至已经是快临近凌晨时便开始动工,可天意不能违,12306晚上11点便开始维护,后续阶段程序不得不暂停;只能今天继续完成最后一部分,幸好自己进度还是可以的,刚刚debug完毕就给大家分享一下!
开头肯定是老套路
首先我们要安装python的编译环境,推荐使用python3.6(本文章使用的是python3);
python下载安装网址:https://www.python.org/
安装python的第三方工具库selenium
selenium是Web 应用程序自动化测试工具,可模拟人为操作实现自动化的强大的工具库
第二步:
下载chrome自动化驱动,链接:
chrome自动化驱动与chrome浏览器版本是有相对应的版本;chrome浏览器最新版本对应驱动版本2.35
具体驱动与浏览器版本映射表查看链接:
http://blog.csdn.net/huilan_same/article/details/51896672
第三步:进入主题,编写代码
引入库文件
编写主要代码
乘车人姓名要预先在12306网址上存在,并且要按红色方框内容填写
编写一个判断xpath是否存在的函数XpathExist(driver,xpath)
编写登录12306函数login(us,pw)
编写12306查询函数query()
难点:主要就在输入出发站跟目的站,12306反爬技术很强大,自己在这里调试了两个小时,最后发现要先点击一下,再清除内容,再输入内容,再按键盘Down键,最后再按tab键才可以;时间则要用js处理。
抢票函数buyTicket()
确认购票confirm()
由于想到这几天大家要开始第一轮抢票模式,所以刚刚写完的程序,没有经过大量测试,我便匆匆忙忙发布上来供大家分享;如果在使用中发现有bug,欢迎在本公众号后台留言,我会及时的处理!
为了不懂编程的小伙伴,同时我也对应发布了可执行的exe文件。
祝大家抢票成功!
领取专属 10元无门槛券
私享最新 技术干货