12306订票代码--python订票的另类方式

12306订票代码--python订票的另类方式,第1张

概述12306订票代码--python订票的另类方式

下面是内存溢出 jb51.cc 通过网络收集整理的代码片段。

内存溢出小编现在分享给大家,也给大家做个参考。

#!/usr/bin/env python# -*- enCoding:utf-8 -*-'''Created on 2014年12月30日@author: liujichao'''import sysimport loggingfrom splinter import browserimport timelogging.getLogger().setLevel(logging.ERROR)reload(sys)sys.setdefaultencoding('utf-8')  # @UndefinedVariablebrowser = browser()def checkTick():    while True:        if int(time.strftime("%H",time.localtime())) in [23,1,2,3,4,5,6]:            print "23点到7点不能登录"             time.sleep(200)            continue            pass        break        pass    browser.visit("https://kyfw.12306.cn/otn/login/init")    browser.find_by_ID("username").fill("用户名")    browser.find_by_ID("password").fill("密码")    browser.find_by_ID("randCode").click()        while True:                while len(browser.find_by_ID("randCode").value)<4 or not browser.find_by_ID("i-okmypasscode1").visible:            time.sleep(1)            pass        browser.find_by_ID("loginSub").click()        warnAlert=browser.find_by_ID("content_defaultwarningalert_ID")        if  len(warnAlert)!=0 and warnAlert.visible:            browser.find_by_ID("qd_closeDefaultWarningWindowDialog_ID").click()            browser.execute_script('''refreshimg('login','sjrand');''')            browser.find_by_ID("randCode").click()            continue            pass        break        pass    while browser.url !="https://kyfw.12306.cn/otn/index/initMy12306":        print browser.url        time.sleep(1)        pass        browser.visit('https://kyfw.12306.cn/otn/leftTicket/init')    #browser.fill('kw','splinter - python acceptance testing for web applications')    #browser.execute_script("$('body').empty()")    #print browser.find_by_ID("login_user")    #browser.find_by_ID("login_user").click()    #print browser.cookies()        browser.find_by_ID("fromStationText").click()    browser.execute_script('''$(\"#ul_List1 > li:nth-child(1)\").click();    ''')        browser.find_by_ID("toStationText").click()    browser.execute_script('''    $(\"#nav_List3\").click();    $(\"a.cityflip:nth-child(1)\").click();    $(\"#ul_List3 > li:nth-child(21)\").click();    ''')            browser.find_by_value("G").check()    #browser.find_by_ID("train_date").click()    #time.sleep(10)    browser.execute_script('''    setInterval(function(){    $.AJAX({            type: 'post',url: '/otn/login/checkUser',data: {            },beforeSend: function (c) {                c.setRequestheader('If-ModifIEd-Since','0');                c.setRequestheader('Cache-Control','no-cache')            },success: function (e) {                if (!e.data.flag) {                   location.href="https://kyfw.12306.cn/otn/login/init";                }             }        });},2000);     ''')    while True:        if browser.url=="https://kyfw.12306.cn/otn/login/init":            #被踢了            print "被踢了"            raise Exception("被踢")            pass        browser.execute_script('''$("#train_date").val("2015-02-18");''')        browser.find_by_ID("query_ticket").click()        browser.execute_script("CleftTicketUrl = 'leftTicket/queryT?_r="+str(time.time())+"';")        browser.execute_script('''$("#train_date").val("2015-02-18");''')        warnAlert=browser.find_by_ID("content_defaultwarningalert_ID")        if  len(warnAlert)!=0:            browser.find_by_ID("qd_closeDefaultWarningWindowDialog_ID").click()            pass        browser.execute_script('''        iflagt=false;$('#querylefttable tr').each(function () {  trID = $(this).attr('ID');  if (/^ticket/.test(trID)) {    tID=trID.replace("ticket_","");    tranCode=$("#"+trID+"_train").find("a").text()    if("G655,G6741,G67,G517,G491,".indexOf(tranCode+",")!=-1){        //二等座位        ZEtxt=$("#ZE_"+tID).text();        zcount=0;        try         {          zcount=parseInt(ZEtxt)        } catch (e) {zcount=0;}       console.log(ZEtxt);      txtInfo=$("#"+trID+">.no-br").text()      if((ZEtxt=="有" || zcount>1) && txtInfo!="23:00-07:00系统维护时间"){        $(this).find(".btn72").click();        iflagt=true;        return false;      }    }      }});''')                if browser.evaluate_script("iflagt;"):            break            pass        else:            print "无"            pass        time.sleep(3)        pass    while browser.url !="https://kyfw.12306.cn/otn/confirmPassenger/initDc":        print browser.url        time.sleep(1)        pass       browser.find_by_ID("gd").click()    browser.find_by_ID("normalPassenger_0").check()    browser.find_by_ID("normalPassenger_24").check()    browser.find_by_ID("randCode").click()        while len(browser.find_by_ID("randCode").value)<4:        time.sleep(1)        pass    browser.is_element_not_present_by_ID(ID,wait_time=None)    while not browser.find_by_ID("checkticketinfo_ID").visible:        time.sleep(0.5)        pass    browser.find_by_ID("qr_submit_ID").click()    #browser.find_by_ID("fromStation").fill("BXP")    #browser.find_by_ID("train_date").fill("BXP")    #browser.find_by_ID("query_ticket").click()    #print browser.HTML    print browser.cookies.all()     passif __name__ == '__main__':    while True:        try:            checkTick()        except Exception,e:            browser.quit()            browser = browser()            print e            pass        pass    pass

以上是内存溢出(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

总结

以上是内存溢出为你收集整理的12306订票代码--python订票的另类方式全部内容,希望文章能够帮你解决12306订票代码--python订票的另类方式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1199344.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存