1. 程式人生 > >利用selenium實現淘寶雙十一搶購商品

利用selenium實現淘寶雙十一搶購商品

到雙十一了總是有一些定時搶購的貨物,有了這個指令碼再也不用煉手速了。

在這個基礎上使用Python3.7.1實現,並且解決bug:ERROR:platform_sensor_reader_win.cc

1.安裝Python

2.下載Webdriver

3.執行程式碼

# coding=utf-8
import os
from selenium import webdriver
import datetime
import time
from os import path

#此處chromedriver改為自己下載的路徑
options = webdriver.ChromeOptions()
options.add_argument('--log-level=3')
driver = webdriver.Chrome("D:/Users/wangchong/Downloads/chromedriver_win32/chromedriver",chrome_options=options)
# driver.create_options().add_argument('--log-level=3')
#driver.maximize_window()

def login():
    driver.get("https://www.taobao.com")
    time.sleep(3)
    if driver.find_element_by_link_text("親,請登入"):
        driver.find_element_by_link_text("親,請登入").click()
        print("請在15秒內完成掃碼")
        time.sleep(15)
        driver.get("https://cart.taobao.com/cart.htm")
    time.sleep(3)
    if driver.find_element_by_id("J_SelectAll1"):
        driver.find_element_by_id("J_SelectAll1").click()
    now = datetime.datetime.now()
    print("login success:", now.strftime("%Y-%m-%d %H:%M:%S"))

def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(buytime)
        print(now)
        # 對比時間,時間到的話就點選結算
        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(0.1)
        print(now)
        time.sleep(0.1)

if __name__ == "__main__":
    times = input("請輸入搶購時間(例如格式:2018-11-11 00:00:00):")
    login()
    buy(times)