我这里使用的chorme浏览器,使用前购物车内需要有商品

一、ChromeDriver的安装

若想使用Selenium成功调用Chrome浏览器完成相应的操作,需要通过ChromeDriver来驱动。

这里是ChromeDriver的官方下载地址。

链接:https://chromedriver.storage.googleapis.com/index.html

我们在下载之前先来确认下我们使用的Chrome浏览器版本,只需要红框内几位相同即可

python淘宝准点秒杀抢单的实现示例

python淘宝准点秒杀抢单的实现示例

根据自己操作系统选择

python淘宝准点秒杀抢单的实现示例

Python安装路径下Scripts文件夹中即可

python淘宝准点秒杀抢单的实现示例

二、实现代码

from selenium import webdriver
import time
import datetime
# 打开Chrome浏览器
browser = webdriver.Chrome()

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()
        print(f"请尽快扫码登录")
        time.sleep(10)

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"找不到购买按钮")
    else:
        print(f"请手动勾选需要购买的商品")
        time.sleep(5)

def buy(times):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        print(now)
        # 对比时间,时间到的话就点击结算
        if now > times:
            # 点击结算按钮
            while True:
                try:
                    if browser.find_element_by_id("J_Go"):
                        browser.find_element_by_id("J_Go").click()
                        print(f"结算成功,准备提交订单")
                        break
                except:
                    pass
            # 点击提交订单按钮
            while True:
                try:
                    if browser.find_element_by_link_text('提交订单'):
                        browser.find_element_by_link_text('提交订单').click()
                        print(f"抢购成功,请尽快付款")
                except:
                    print(f"再次尝试提交订单")
            time.sleep(0.01)

if __name__ == '__main__':
    login();
    picking(0);
    buy("2021-05-12 21:57:08.211142"); #修改为自己所需要的时间,注意时间格式一定要对
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。