新手學習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)之后,就彈出了滑塊驗證,不知道為什么。
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林站長站。
新聞熱點
疑難解答