亲宝软件园·资讯

展开

Python淘宝秒杀的脚本实现

fakerth 人气:0

准备工作

我们需要把秒杀的商品加入购物车,因为脚本点击的是全选,所以不需要的商品要移出购物车。

过程分析

1.打开某宝网站;

pq = webdriver.Chrome()
pq.get("https://www.taobao.com")  # 版权问题
time.sleep(3)

sleep的原因是怕万一网速慢,网页加载慢。

2.扫码登陆;

pq.find_element(By.LINK_TEXT, "亲,请登录").click()
print(f"请尽快扫码登录")
time.sleep(10)

自动点击进入登录页面,我们点击扫码登录进行扫码。
3.进入购物车;

pq.get("https://cart.taobao.com/cart.htm")
time.sleep(3)

登录成功后,直接进入购物车网站。

4.全选购物车;

while True:
    try:  # 查找 元素 来自  ID
        if pq.find_element(By.ID, "J_SelectAll1"):
            pq.find_element(By.ID, "J_SelectAll1").click()
            break
    except:
        print(f"找不到购买按钮")

找到全选按钮,全选。

在这里插入图片描述

5.结算。

while True:
    # 获取电脑现在的时间,                      year month day
    now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
    # 对比时间,时间到的话就点击结算
    print(now)
    if now > lisi:
        # 点击结算按钮
        while True:
            try:
                if pq.find_element(By.LINK_TEXT, "结 算"):
                    print("here")
                    pq.find_element(By.LINK_TEXT, "结 算").click()
                    print(f"主人,程序锁定商品,结算成功")
                    break
            except:
                pass
        while True:
            try:
                if pq.find_element_by_link_text('提交订单'):
                    pq.find_element_by_link_text('提交订单').click()
                    print(f"抢购成功,请尽快付款")
            except:
                print(f"主人,结算提交成功,我已帮你抢到商品啦,请及时支付订单")
                speaker.Speak(f"主人,结算提交成功,我已帮你抢到商品啦,请及时支付订单")
                break
        time.sleep(0.01)

在这里插入图片描述

获取现在时间与秒杀时间进行比对,时间一到点击提交订单生成订单,生成订单后支付时间就不需要紧张了。

在这里插入图片描述

完整程序实现如下:

import datetime
import win32com.client
import time
from selenium.webdriver.common.by import By
from selenium import webdriver

now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
speaker = win32com.client.Dispatch("SAPI.SpVoice")

lisi = "2022-11-11 20:00:00.00000000"
zhangsan = webdriver.Chrome()
zhangsan.get("https://www.taobao.com")
time.sleep(3)  # 查找  网络元素 来自 链接 文本(亲,请登录)    #点击
zhangsan.find_element(By.LINK_TEXT, "亲,请登录").click()
print(f"请尽快扫码登录")
time.sleep(10)
zhangsan.get("https://cart.taobao.com/cart.htm")
time.sleep(3)

# 是否全选购物车
while True:
    try:  # 查找 元素 来自  ID
        if zhangsan.find_element(By.ID, "J_SelectAll1"):
            zhangsan.find_element(By.ID, "J_SelectAll1").click()
            break
    except:
        print(f"找不到购买按钮")
while True:
    # 获取电脑现在的时间,                      year month day
    now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
    # 对比时间,时间到的话就点击结算
    print(now)
    if now > lisi:
        # 点击结算按钮
        while True:
            try:
                if zhangsan.find_element(By.LINK_TEXT, "结 算"):
                    print("here")
                    zhangsan.find_element(By.LINK_TEXT, "结 算").click()
                    print(f"主人,程序锁定商品,结算成功")
                    break
            except:
                pass
        while True:
            try:
                if zhangsan.find_element_by_link_text('提交订单'):
                    zhangsan.find_element_by_link_text('提交订单').click()
                    print(f"抢购成功,请尽快付款")
            except:
                print(f"主人,结算提交成功,我已帮你抢到商品啦,请及时支付订单")
                speaker.Speak(f"主人,结算提交成功,我已帮你抢到商品啦,请及时支付订单")
                break
        time.sleep(0.01)

加载全部内容

相关教程
猜你喜欢
用户评论