利用 python+selenium+time模組 製作淘寶天貓定時搶購搶購指令碼程式
阿新 • • 發佈:2021-01-15
技術標籤:python實用pythonselenium小程式
分享記錄一個淘寶天貓定時搶購搶購指令碼.
程式碼如下:
from selenium import webdriver
import datetime
import time
#建立瀏覽器物件
driver = webdriver.Chrome()
#視窗最大化顯示
driver.maximize_window()
def login(url,mall):
'''
登陸函式
url:商品的連結
mall:商城類別
'''
driver.get(url)
driver. implicitly_wait(10)
close = 'body > div.baxia-dialog.auto > div.baxia-dialog-content > div'
driver.find_element_by_css_selector(close).click()
time.sleep(2)
#淘寶和天貓的登陸連結文字不同
if mall=='1':
#找到並點選淘寶的登陸按鈕
driver.find_element_by_link_text("親,請登入" ).click()
else:
#找到並點選天貓的登陸按鈕
driver.find_element_by_link_text("請登入").click()
print("請在30秒內完成登入")
#使用者掃碼登陸
time.sleep(30)
def buy(buy_time,mall):
'''
購買函式
buy_time:購買時間
mall:商城類別
獲取頁面元素的方法有很多,獲取得快速準確又是程式的關鍵
css_selector的方式表現最佳
'''
if mall=='1':
#"立即購買"的css_selector
btn_buy='#J_juValid > div.tb-btn-buy > a'
#"立即下單"的css_selector
btn_order='#submitOrderPC_1 > div.wrapper > a'
else:
btn_buy='#J_LinkBuy'
btn_order='#submitOrderPC_1 > div > a'
while True:
#現在時間大於預設時間則開售搶購
if datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')>buy_time:
try:
#找到“立即購買”,點選
if driver.find_element_by_css_selector(btn_buy):
driver.find_element_by_css_selector(btn_buy).click()
break
time.sleep(0.1)
except:
time.sleep(0.3)
while True:
try:
#找到“立即下單”,點選,
if driver.find_element_by_css_selector(btn_order):
driver.find_element_by_css_selector(btn_order).click()
#下單成功,跳轉至支付頁面
print("購買成功")
break
except:
time.sleep(0.5)
if __name__ == "__main__":
url=input("請輸入商品連結:")
mall=input("請選擇商城(淘寶是 1 天貓是 2 輸入數字即可): ")
bt=input("請輸入開售時間【格式如:2021-01-15(空格)12:55:50】")
login(url,mall)
buy(bt,mall)
效果: