python指令碼網頁點選搶購京東樂視2(現在好像不用搶購了)
阿新 • • 發佈:2019-01-10
前陣子,想搶太魅藍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和程式設計的我,還是很有意思的。