新手學習Python,之前在網上看見一位朋友寫的40行Python代碼搞定京東秒殺,想在淘寶上幫女朋友搶玩偶,所以就照貓畫虎的寫了下淘寶的秒殺腳本,經自己實驗可行。直接上代碼:
#-*- coding: UTF-8 -*-import osfrom selenium import webdriverimport datetimeimport timechromedriver = "/usr/bin/chromedriver"os.environ["webdriver.chrome.driver"] = chromedriverdriver = webdriver.Chrome(chromedriver)def login(uname, pwd):  driver.get("https://www.taobao.com")  if driver.find_element_by_link_text("親,請登錄"):    driver.find_element_by_link_text("親,請登錄").click();  time.sleep(1)  if driver.find_element_by_link_text("密碼登錄"):    driver.find_element_by_link_text("密碼登錄").click();  time.sleep(1)  if driver.find_element_by_name("TPL_username"):    driver.find_element_by_name("TPL_username").send_keys(uname);  time.sleep(1)  if driver.find_element_by_name("TPL_password"):    driver.find_element_by_name("TPL_password").send_keys(pwd);  time.sleep(2)  if driver.find_element_by_id("J_SubmitStatic"):    driver.find_element_by_id("J_SubmitStatic").click();  time.sleep(1)  driver.get("https://cart.taobao.com/cart.htm")  if driver.find_element_by_id("J_SelectAll1"):    driver.find_element_by_id("J_SelectAll1").click()  time.sleep(3)  if driver.find_element_by_link_text("結 算"):    driver.find_element_by_link_text("結 算").click();  now = datetime.datetime.now()  print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))def buy_on_time(buytime):  while True:    now = datetime.datetime.now()    if now.strftime('%Y-%m-%d %H:%M:%S') == buytime:      while True:        try:          driver.find_element_by_link_text('提交訂單').click()        except:          time.sleep(1)    time.sleep(0.1)#中文賬號的時候要給它編碼一下,不然會出錯login("中文賬號".decode('utf-8'),'密碼')#login("英文賬號",'密碼')#buy_on_time('2017-05-06 21:30:01')代碼里面有很多的time.sleep(),主要是防止操作太快,網頁沒有刷新出來就會讀不到下面的元素,由于淘寶可能會出現滑塊驗證,所以我讓輸入賬號和密碼之后休眠了3秒,沒有操作的太快,所以沒有出現滑塊驗證。但是去掉那個time.sleep(3)之后,就彈出了滑塊驗證,不知道為什么。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答