• Python自动抢购脚本,学废了双十一双十二帮女票抢购心爱的礼物,隔壁女孩都馋哭了。


    Python版本:3.10

    分享一个秒杀抢购的脚本程序,感兴趣的朋友一起看看吧

    第一步:需要把想要的商品加进购物车( 此脚本是对购物车内全部商品进行下单操作,所以不够买的商品最好先从购物车内删除。)

    第二步:写好Python脚本,在抢购之前运行,并设置好抢购时间。

    1、安装Python3

    下载链接: https://www.python.org/

    检查 Python3 是否正常可用:python3 -V

    在这里插入图片描述

    2、集成开发环境:Pycharm

    下载链接: https://www.jetbrains.com/pycharm/download/#section=windows

    在这里插入图片描述

    你用vscode也行!

    3、安装webdriver扩展。

    它是Selenium模块的一部分。Selenium是一个用于Web应用程序测试的工具,用于测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。所以其实就是安装Selenium:Win+R,输入cmd,在命令行中输入pip show selenium

    pip:python包管理工具,提供了对Python 包的查找、下载、安装、卸载的功能。

    在这里插入图片描述

    注:pip 已内置于 Python 3.4 和 2.7 及以上版本,其他版本需另行安装。

    4、安装chrome浏览器,没谷歌写什么程序

    5、安装chromedriver。

    它是chrome的插件,是为了webDriver能通过操作chromedriver来控制chrome浏览器自动操作,如打开网页,点击按钮等操作。

    下载地址:
    http://chromedriver.storage.googleapis.com/index.html或者https://npm.taobao.org/mirrors/chromedriver/

    注意:下载时要根据电脑系统和chrome浏览器版本来选择对应的chromedriver版本。

    可以通过浏览器右上角的三点→帮助→关于Google Chrome来查看自己的chrome版本。

    在这里插入图片描述

    下载chromedriver安装包后,进行解压,放在chrome安装的同级目录下,同时在环境变量PATH中添加路径。

    在这里插入图片描述

    6、上代码

    
    # coding=utf-8
    import os
    from selenium import webdriver
    import datetime
    import time
    from os import path
    from selenium.webdriver.chrome.service import Service
    from selenium.webdriver.common.by import By
    
    #此处chromedriver改为自己下载解压的chromedriver的路径
    s = Service('C:/Users/wzyh/AppData/Local/Google/Chrome/Application/chromedriver')
    driver = webdriver.Chrome(service=s)
    #driver.maximize_window()
    
    def login():
        #打开淘宝首页,扫码登陆淘宝
        driver.get("https://www.taobao.com")
        time.sleep(3)
        if driver.find_element(by=By.LINK_TEXT, value='亲,请登录'):
            driver.find_element(by=By.LINK_TEXT, value='亲,请登录').click()
            print("请在30秒内完成扫码登录...")
            time.sleep(30)
            #打开购物车列表首页
            driver.get("https://cart.taobao.com/cart.htm")
            time.sleep(3)
            #全选购物车
        if driver.find_element(by=By.ID, value='J_SelectAll1'):
            driver.find_element(by=By.ID, value='J_SelectAll1').click()
        now = datetime.datetime.now()
        print("login success:", now.strftime("%Y-%m-%d %H:%M:%S"))
    
    def buy(times):
        while True:
            #记录当前时间,使用datatime内置模块
            now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
            print(times)
            print(now)
            # 对比时间,时间到的话就点击结算
            if now == times:
                try:
                    if driver.find_element(by=By.ID, value='J_Go'):
                        driver.find_element(by=By.ID, value='J_Go').click()
                        driver.find_element(by=By.LINK_TEXT, value='提交订单').click()
                        print('抢购成功,请尽快付款')
                except:
                     print('请再次尝试提交订单')
            print(now)
            time.sleep(0.1)
    
    if __name__ == "__main__":
        times = input("请输入抢购时间(例如格式:2022-08-11 12:00:00):")
        login()
        buy(times)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54

    直接运行

    在这里插入图片描述
    输入时间 并回车

    在这里插入图片描述

    这时候会弹出一个谷歌窗口,并跳转淘宝登录页,我设置的时间是30秒,30秒内没登录就退出进程了。

    在这里插入图片描述

    补充说明:

    selenium4.0中的find_element方法老版本跟新版本写法不一样
    在这里插入图片描述
    可以看到,上面那个find_element_by_link_text已被划上横线,表示已经弃用,改用新方法find_element(by=By.LINK_TEXT, value='亲,请登录')

    在这里插入图片描述
    目前此脚本不支持自动stop,只能手动stop。有时间弄个京东的,抢茅台。

  • 相关阅读:
    每日一练--IT冷知识&C/C++--第七天
    C++面向对象三大特性之一---->继承详解
    万卷书 - 大力娃的书单
    一文了解SpringBoot如何开启热部署
    图扑软件数字孪生厦门隧道,助力交通数字化升级
    基于springboot的海鲜特产商城
    解决ubuntu22.04共享文件夹问题
    java 入门-使用eclipse、javaFX、SceneBuilder进行图形界面开发
    rust所有权
    C++项目实战-UDP服务器
  • 原文地址:https://blog.csdn.net/ZiChen_Jiang/article/details/126290039