python實現淘寶自動登錄秒殺功能

最近準點搶東西 ,搶不到有點煩,寫了一個準點淘寶強東西的小程序。親測,已經搶到。

from selenium import webdriver
import datetime
import time

# 打開Chrome瀏覽器
from selenium.webdriver import ActionChains

browser = webdriver.Chrome()
browser.maximize_window()

def login():
    # 打開淘寶首頁,通過掃碼登錄
    browser.get("https://www.taobao.com")
    time.sleep(3)
    if browser.find_element_by_link_text("親,請登錄"):
        browser.find_element_by_link_text("親,請登錄").click()
        time.sleep(2)
        browser.find_element_by_link_text("密碼登錄").click()
        # browser.find_element_by_id()
        browser.find_element_by_id("fm-login-id").send_keys("")
        browser.find_element_by_id("fm-login-password").send_keys('')
        # 定位滑塊元素
        source = browser.find_element_by_xpath("//*[@id='nc_1_n1z']")
        # 定義鼠標拖放動作
        ActionChains(browser).drag_and_drop_by_offset(source, 258, 0).perform()
        # 等待js認證
        time.sleep(5)
        browser.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()
        time.sleep(1)
        picking(0)


def picking(method):
    # 打開購物車列表頁面
    browser.get("https://cart.taobao.com/cart.htm")
    time.sleep(3)
    # 是否全選購物車
    if method == 0:
        while True:
            try:
                if browser.find_element_by_id("J_SelectAll1"):
                    browser.find_element_by_id("J_SelectAll1").click()
                    break
            except:
                print(f"找不到購買按鈕")
        buy('2020-05-25 16:16:00.000000')
    else:
        print(f"請手動勾選需要購買的商品")
        time.sleep(5)


def buy(times):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 對比時間,時間到的話就點擊結算
        if now > times:
            # 點擊結算按鈕
            while True:
                try:
                    if browser.find_element_by_link_text("結 算"):
                        time.sleep(0.1)
                        browser.find_element_by_link_text("結 算").click()
                        print(f"結算成功,準備提交訂單")
                        break
                except Exception as e:
                    print(e)
            # 點擊提交訂單按鈕
            time.sleep(1)
            while True:
                try:
                    if browser.find_element_by_link_text('提交訂單'):
                        browser.find_element_by_link_text('提交訂單').click()
                        print(f"搶購成功,請儘快付款")
                except:
                    print(f"再次嘗試提交訂單")
            time.sleep(1)


if __name__ == '__main__':
    login()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章