1. 程式人生 > >python指令碼網頁點選搶購京東樂視2(現在好像不用搶購了)

python指令碼網頁點選搶購京東樂視2(現在好像不用搶購了)

    前陣子,想搶太魅藍NOTE3,在京東上點選搶購了好多下,果然沒搶到。然後又關注到了樂視2,價效比高,但確實 沒有魅藍好看,電池也小。為了不想重複點選搶購操作,用splinter模組來模擬滑鼠點選操作,辦法很笨,搶購效果差,但也成功過,只是沒下決心買就取消了訂單。這應該是學python第一個小程式,運行了還是有點小開心的。貼上程式碼,留待以後看看。

參照了教程http://www.mamicode.com/info-detail-1136595.html,再加修改。

前提要先安裝瀏覽器驅動,具體驅動下載頁面至splinter官方文件http://splinter.readthedocs.io/en/latest/ 下載安裝,文件很短,看完就知道簡單運用了
#-*- coding:utf-8 -*-
    '''樂視2手機搶購指令碼檔案,渠道:京東'''
    from splinter.browser import Browser
    import time

    #登入頁
    def login(b):  #登入京東
        b.click_link_by_text("你好,請登入")
        time.sleep(3)
        b.fill("loginname","account*****")  #填寫賬戶密碼
        b.fill("nloginpwd","passport*****"
) b.find_by_id("loginsubmit").click() time.sleep(3) return b #訂單頁 def loop(b): #迴圈點選 try: if b.title=="訂單結算頁 -京東商城": b.find_by_text("儲存收貨人資訊").click() b.find_by_text("儲存支付及配送方式").click() b.find_by_id("order-submit"
).click() return b else: #多次搶購操作後,有可能會被轉到京東首頁,所以要再開啟手機主頁 b.visit("http://item.jd.com/2707976.html") b.find_by_id("choose-btn-qiang").click() time.sleep(10) loop(b) #遞迴操作 except Exception as e: #異常情況處理,以免中斷程式 b.reload() #重新重新整理當前頁面,此頁面為訂單提交頁 time.sleep(2) loop(b) #重新呼叫自己 b=Browser(driver_name="chrome") #開啟瀏覽器 b.visit("http://item.jd.com/2707976.html") login(b) b.find_by_id("choose-btn-qiang").click() #找到搶購按鈕,點選 time.sleep(10) #等待10sec while True: loop(b) if b.is_element_present_by_id("tryBtn"): #訂單提交後顯示“再次搶購”的話 b.find_by_id("tryBtn").click() #點選再次搶購,進入讀秒5,跳轉訂單頁 time.sleep(6.5) elif b.title=="訂單結算頁 -京東商城": #如果還在訂單結算頁 b.find_by_id("order-submit").click() else: print('恭喜你,搶購成功') break
此程式一會就用不到樂視2的搶購,但稍加修改可以在京東搶購其他手機。程式簡單,成功率低,算一個很低階的搶購指令碼了,對於剛學習pyhton和程式設計的我,還是很有意思的。