淘宝抢购Python脚本

淘宝抢购Python脚本想买mate40,但总是抢不到,所以想试着能不能写个脚本代码。第一步:把想要抢购的商品加进购物车,注意:脚本是对购物车内全部商品进行下单操作,所以不够买的商品最好先从购物车内删除。第二步:写好Python脚本,在抢购之前运行,并设置好抢购时间。Python脚本实现安装Python。我安装的是anaconda安装webdriver扩展。它是Selenium模块的一部分。Selenium是一个用于Web应用程序测试的工具,用于测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。Selen

大家好,又见面了,我是你们的朋友全栈君。

想买mate40,但总是抢不到,所以想试着能不能写个脚本代码。

第一步:把想要抢购的商品加进购物车,注意:脚本是对购物车内全部商品进行下单操作,所以不够买的商品最好先从购物车内删除。
第二步:写好Python脚本,在抢购之前运行,并设置好抢购时间。

Python脚本实现

  1. 安装Python。我安装的是anaconda
  2. 安装webdriver扩展。它是Selenium模块的一部分。Selenium是一个用于Web应用程序测试的工具,用于测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。
    所以其实就是安装Selenium:Win+R,输入cmd,在命令行中输入pip show selenium
  3. 安装chrome浏览器(因为我用的是谷歌)
  4. 安装chromedriver。它是chrome的插件,是为了webDriver能通过操作chromedriver来控制chrome浏览器自动操作,如打开网页,点击按钮等操作。
    下载地址:http://chromedriver.storage.proxy.ustclug.org/index.html或者https://npm.taobao.org/mirrors/chromedriver/
    **注意:下载时要根据电脑系统和chrome浏览器版本来选择对应的chromedriver版本。**可以通过浏览器右上角的三点→帮助→关于Google Chrome来查看自己的chrome版本。
    在这里插入图片描述
    下载chromedriver安装包后,进行解压,放在chrome安装的同级目录下,同时在环境变量PATH中添加路径。
    在这里插入图片描述
    然后用以下代码检验是否安装成功:
    在这里插入图片描述
    然鹅,此时我遇到了错误,如下
    在这里插入图片描述
    于是,我把chromedriver.exe放到了我python脚本的文件夹后,就完美解决问题了!
    在这里插入图片描述
    【补充】
    我知道自己为什么出现上面那个错误了,因为路径没输入!
    在下图所示红框处输入自己的下载的chromedriver安装路径即可成功运行。
    在这里插入图片描述

完整的Python脚本代码如下:


```python
# coding=utf-8
import os
from selenium import webdriver
import datetime
import time
from os import path

#此处chromedriver改为自己下载解压的chromedriver的路径
driver = webdriver.Chrome("E:/JupyterNotebookSavePath/chromedriver")
#driver.maximize_window()

def login():
    #打开淘宝首页,扫码登陆淘宝
    driver.get("https://www.taobao.com")
    time.sleep(3)
    if driver.find_element_by_link_text("亲,请登录"):
        driver.find_element_by_link_text("亲,请登录").click()
        print("请在15秒内完成扫码")
        time.sleep(15)
        #打开购物车列表首页
        driver.get("https://cart.taobao.com/cart.htm")
        time.sleep(3)
        #全选购物车
    if driver.find_element_by_id("J_SelectAll1"):
        driver.find_element_by_id("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_id("J_Go"):
                    driver.find_element_by_id("J_Go").click()
                    driver.find_element_by_link_text('提交订单').click()
                    print('抢购成功,请尽快付款')
            except:
                 print('请再次尝试提交订单')
        print(now)
        time.sleep(0.1)

if __name__ == "__main__":
    times = input("请输入抢购时间(例如格式:2021-02-01 00:00:00):")
    login()
    buy(times)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130986.html原文链接:https://javaforall.net

(1)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 在线平面图设计教程[通俗易懂]

    在线平面图设计教程[通俗易懂]在介绍平面图之前先简单了解一下平面图的概念什么是平面图平面图,又称图则,是建筑物工程图的组成部分。当测区面积不大,半径小于10公里(甚至25公里)时,可以用水平面代替水准面。在这个前提下,可以把测区内的地面景物沿铅垂线方向投影到平面上,按规定的符号和比例缩小而构成相似图形,即为平面图。平面图以比例图绘制,表现该建筑物内的客厅、房间、空间及其它硬件的分布,其中包括主力墙、出入口、窗的位置图。平…

    2022年5月26日
    51
  • 游戏 海外推广_手游礼包助手

    游戏 海外推广_手游礼包助手最近,网上正在热烈地讨论起优质游戏版号买卖的“生意经”了。国内手游的这条路,走得越来越不容易,现在正卡在了游戏版号这个瓶颈上,呼吸困难。而且国内的手游市场已经被大型企业比如腾讯和网易等巨头所占据,中小型的游戏厂商的出路在哪里?不用问,他们走上了出海之路!出海之路离不开手游APP的推广和营销,为了把钱花到刀刃上,需要了解怎么提升海外手游APP推广的ROI?我们选择了关于推广海外手游并提升ROI的四…

    2025年7月17日
    5
  • PostMan的安装和使用教程[通俗易懂]

    PostMan的安装和使用教程[通俗易懂]postman的下载官网:https://www.getpostman.com/downloads/创建账号或者用谷歌浏览器账号登录一个demo了解一下我做的是一个app,后台使用java做的,app通过ajax来请求后台,但是我不知道后台有没有请求成功!因此需要一个测试接口的东西测试我做的接口有没有问题我的app里面的ajax是这样写的api.aja…

    2022年9月18日
    4
  • menuconfig 图形化配置

    menuconfig 图形化配置  uboot或Linux内核可以通过输入“makemenuconfig”来打开图形化配置界面,menuconfig是一套图形化的配置工具,需要ncurses库支持。ncurses库提供了一系列的API函数供调用者生成基于文本的图形界面  menuconfig重点会用到两个文件:.config和Kconfig,.config文件保存着uboot或Linux内核的配置项,使用menuconfig配置完uboot或Linux内核以后肯定要更新.config

    2022年5月10日
    42
  • 删除LDSGameMaster文件夹[通俗易懂]

    删除LDSGameMaster文件夹[通俗易懂]1.在网上搜在注册表上搜LDSGameMaster相关文件,删除——刷新——删除,直到全部删除完,重启删除,还是不行。2.在LDSGameMaster文件夹里的后缀为sys文件,修改名称,在其后边加一个apk,然后重启电脑,直接删除然后就可以了。不知道有没有跟第一步有关系。…

    2022年6月13日
    146
  • toast 弹窗 内容获取_javascript弹出框

    toast 弹窗 内容获取_javascript弹出框使用js封装一个全局Toast提示弹窗组件,不使用UI库exportconstToast={data(){return{}},mounted(){},methods:{//Toast消息提示toast(obj){let{text,duration,img}=obj||{};//obj为字符串typeofobj===’string’&&a

    2022年9月25日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号