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;就可以。不过我用了以后,似乎没有出现过退出登录的情况。


觉得还有点用,所以分享下。只做了两件微小的事情。

类别:有用的   阅读(0)   评论(0)    发表时间:2015-12-29 21:37  星期二

评论区

发表评论

        姓名:
邮箱|网站:
        内容:

  (可按Ctrl+Enter提交)