下面是内存溢出 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订票的另类方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)