12306刷票自动查询经常掉线怎么办? 写了个脚本帮助解决这个问题。
今年用12306自带的刷票经常出现两个问题,一个是老是刷着刷着就停止了,另一个是刷着刷着就退出登录了(但页面看上去正常)。 久了觉得心累,于是想了下可以写个脚本啊,然后就写了个。
测了两天,为什么测这么久,因为票还没买到。。。
方法简单说就是打开控制台(按键盘上的F12键),把代码贴到控制台里面去,然后回车,可以了。
这里以chrome(谷歌浏览器)为例。有控制台的浏览器都可以,ie8+,火狐等。现代浏览器基本都有。
先打开12306登录进去。然后打开票预定页面https://kyfw.12306.cn/otn/leftTicket/init ,该填的信息填好,点查询开始自动查询。这时,
1.按F12调出控制台。
2.点console(控制台),输入代码
3.回车
如图:
登录失败时,会弹出提示,并播放提示音提醒你去重新登录(这时可以重新打一个页面去登录,当前页面不要动,避免重新录入时间座位等信息。)
代码如下:
$('#login_user').attr('target','_blank');//登录失效的时候点击顶部用户名在新窗口打开登录页面 window.isPlayMusic = true;//是否播放提示音 window.checkNumber = 0; window.isAlerted = false; var userCenterUrl = 'https://kyfw.12306.cn/otn/index/initMy12306'; var playMusic = function(){ if(window.isPlayMusic) $('#tryPlayer').click();//播放停止 提示音 }; var checkAutoSubmit = setInterval(function(){ $.get(userCenterUrl,function(d){ ++checkNumber; if(d.indexOf('常用信息管理') === -1){ //clearInterval(checkAutoSubmit); console.log('未登录,请登录..'+ checkNumber); playMusic(); if(!window.isAlerted){ window.isAlerted = true; alert('不是票,不是票。。。登录失效了。不要关闭当前窗口,打开新窗口重新登录!! 避免重填信息。'); } playMusic(); } else{ window.isAlerted = false; if(!$('#filterTicDiv').is(':visible') && $('#auto_query').prop('checked')){ $('#query_ticket').click();//意外停止,重新开启查询 } } //console.clear(); console.log('运行中..'+ checkNumber ); }); },10000);//10秒检查一次
要取消只要在控制台里输入下面这行代码,回车就可以了。
clearInterval(checkAutoSubmit);//取消
作用就是
1.检查自动查询是否停止,停止则再触发一次查询(就是模拟点击)。
2.登录失效的时候会播放那个有票的提示音,提醒你去重新登录。
不播放提示音把window.isPlayMusic =
true
;改成
。不过我用了以后,似乎没有出现过退出登录的情况。window.isPlayMusic = false
;就可以
觉得还有点用,所以分享下。只做了两件微小的事情。