昨天淘寶上面搞秒殺,本來想著靠我驚人的手速去搶一下的,結果。。。。
這些人的手速每天都鍛煉的麼?這樣不擔心自己身體扛不住的嘛……
所以痛定思痛,想想還是用指令碼更靠譜。
心中默唸:出來吧,大Python牛逼……
整體流程是:
上淘寶->找到登入按鈕去登陸->在登入頁選擇密碼登入->填入賬號密碼登入->跳到購物車頁->點選全選按鈕,等約定時間,時間到馬上結算、下單。
詳情程式碼
import os
from selenium import webdriver
import datetime
import time
#需要下載deckodreiver
firefox = os.path.abspath(r"E:\Program Files\Mozilla Firefox\firefox.exe")
os.environ["webdriver.firefox.bin"] = firefox
driver = webdriver.Firefox()
driver.maximize_window()
def login(uname, pwd):
driver.get("https://www.taobao.com")
if driver.find_element_by_link_text("親,請登入"):
driver.find_element_by_link_text("親,請登入").click()
input(uname, pwd)
#點選購物車裡全選按鈕
if driver.find_element_by_id("J_SelectAll1"):
driver.find_element_by_id("J_SelectAll1").click()
# time.sleep(3)
now = datetime.datetime.now()
print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
def input(uname,pwd):
time.sleep(3)
#選擇密碼登入
if driver.find_element_by_id("J_Quick2Static"):
driver.find_element_by_id("J_Quick2Static").click()
time.sleep(3)
#使用者名稱輸入
if driver.find_element_by_name("TPL_username"):
for i in uname:
driver.find_element_by_name("TPL_username").send_keys(i)
time.sleep(0.5)
time.sleep(3)
#密碼輸入
if driver.find_element_by_name("TPL_password"):
for j in pwd:
driver.find_element_by_name("TPL_password").send_keys(j)
time.sleep(0.5)
time.sleep(3)
#點選登入按鈕
if driver.find_element_by_id("J_SubmitStatic"):
driver.find_element_by_id("J_SubmitStatic").click()
time.sleep(3)
driver.get("https://cart.taobao.com/cart.htm")
time.sleep(2)
def buy(buytime):
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
if now == buytime:
try:
#點選結算按鈕
if driver.find_element_by_id("J_Go"):
driver.find_element_by_id("J_Go").click()
driver.find_element_by_link_text('提交訂單').click()
except:
time.sleep(1)
print(now)
time.sleep(1)
if __name__=="__main__":
#中文賬號記得decode編碼
login("賬號",'密碼')
buy('')
這裡用了很多執行緒休眠,是因為太快的輸入,在登入的時候回出現滑動驗證框,所以sleep幾秒,儘量模仿人的操作。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援公眾號Python6359