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()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章