首页 > 编程语言 >Python基础篇:某宝一键秒杀,毫秒级的精准度

Python基础篇:某宝一键秒杀,毫秒级的精准度

时间:2022-10-14 13:58:49浏览次数:64  
标签:浏览器 Python 抢购 driver 某宝 精准度 element find

某宝秒杀,用毫秒级的精准度来抢购!

 还记得前段时间情人节,各种产品活动秒杀。结果自然少不了被对象一番折磨 (注意:不是new出来的哈,也不是橡胶的,实实在在的女朋友) 于是乎彻底激发了我的求生欲,在这种关头我是必须发挥出自己的才能了,这才有了这篇毫秒级秒杀的精品出来,话不多说直接进入主题  

 

 

项目环境
​ 操作系统:Windows 10

​ 开发环境:python3.7

​ IDE:Pycharm

​ 自动化模块:Selenium

​ 安装命令:pip install selenium

​ 浏览器版本:Google Chrome 99.0.4844.51

​ 浏览器驱动版本:ChromeDriver 99.0.4844.51

​ 浏览器驱动版本与浏览器版本要一致!

某宝抢购流程分析

1,登录网站

​ 2,购物车选中抢购商品

​ 3,结算购买

​ 4,提交订单

​ 关键:快速完成前面流程,当订单进入提交页面时,付款时间不影响抢购。

程序实现思路

 

​ 购物流程都是固定没有变化的,因此可以把购物流程步骤用代码编辑好交给selenium去自动执行。

 

​ 项目结构:驱动直接复制放入项目根路径

 

 

 

1,导入对应类库实现对浏览器的操作
# author: 
# ide: PyCharm

from selenium import webdriver
import datetime    
import time

#自动打开浏览器并且最大化窗口
driver = webdriver.Chrome()
driver.maximize_window()

​ 执行上述代码,浏览器会自动打开并显示如下,证明我们已经开始通过代码操控浏览器了。

 

 

2,用代码实现购物流程
 
2.1 访问某宝:
driver.get('https://www.taobao.com')
2.2登录某宝:
 

 

 

if driver.find_element_by_partial_link_text('亲,请登录'):
        driver.find_element_by_partial_link_text('亲,请登录').click()

 

2.3 进入购物车
#跳转到购物车页面
driver.get('https://cart.taobao.com/cart.htm')
2.4 选中所有商品
 

 

 

#寻找全选选项并勾选
if driver.find_element_by_id("J_SelectAll1"):
      driver.find_element_by_id("J_SelectAll1").click()

 

2.5 对比时间,提交结算(重点)
def buy(buy_time):  #buy_time 购买时间
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        print('当前时间:%s'%now)

        #判断是否到达抢购时间
        if now>buy_time:
            try:
                driver.find_element_by_partial_link_text('结 算').click()
            except:
                pass
        #对比时间,循环提交订单
        while True:
                try:
                    if driver.find_element_by_link_text('提交订单'):
                        driver.find_element_by_link_text('提交订单').click()
                        print(f"抢购成功,请尽快付款")
                except:   Python交流群:748989764
                    print(f"再次尝试提交订单")
            time.sleep(0.01)

 

 

​ 这样就可以通过设定的段时间去定时定点抢购商品啦!

    print(f"再次尝试提交订单")
        time.sleep(0.01)
[外链图片转存中...(img-oA7Q06eg-1648366756452)]

​    **这样就可以通过设定的段时间去定时定点抢购商品啦!**

 

 

标签:浏览器,Python,抢购,driver,某宝,精准度,element,find
From: https://www.cnblogs.com/tuixiulaozhou/p/16791364.html

相关文章

  • Python subProcess库以及Popen类的使用
    subprocess库是一个十分强大且常用的库,它可以用来调用第三方工具(例如:exe、另一个python文件、命令行工具)。1.常用函数call():执行由参数提供的命令,把数组作为参数运行命令......
  • Python中Try/Except/else/final语句
    python中的try/except/else/finally语句 与其他语言相同,在python中,try/except语句主要是用于处理程序正常执行过程中出现的一些异常情况,如语法错误(python作为脚本语言......
  • Python 小技巧:如何实现操作系统兼容性打包?
    有一个这样的问题:现要用setuptools把一个项目打包成whl文件,然后pipinstall在Windows/Linux两种操作系统上,但是该项目中有一些依赖库只有Windows上才有(例如pywin......
  • Python在计算内存时应该注意的问题?
    我之前的​​一篇文章​​​,带大家揭晓了Python在给内置对象分配内存时的5个奇怪而有趣的小秘密。文中使用了​​sys.getsizeof()​​来计算内存,但是用这个方法计算时,可......
  • Python 3.9 新特性:任意表达式可作为装饰器!
    一个月前(2月20日),一则新的PEP没有受到任何阻碍就被官方采纳了,这么快的速度,似乎并不多见。然而,更为高效率的是,仅在半个月内,它的实现就被合入了代码仓。也就是说,我们最快有望......
  • Python 的十万个为什么?
    随着Python在近些年的火爆,网上出现了很多这个方向的公众号和博客,文章也层出不穷。受到此风气的影响,我也把自己“培养”成了一名技术博主,写作近两年来,陆陆续续写过不少的系......
  • Python 3.9 性能优化:更快的 list()、dict() 和 range() 等内置类型
    Python的3.9.0版本正在开发中,计划在2020-10-05发布final版本。官方在​​changelog​​中披露了很多细节,其中有一项“vectorcall”特性是最容易被接受的,本文打算带......
  • Python 如何移除旧的版本特性,如何迎接新的特性?
    2020年4月20日,Python2的最后一个版本2.7.18发布了,这意味着Python2是真正的EOL(endoflife)了,一个时代终于落幕了。Python2.0版本是在2000年发布的,至今正好......
  • Python 为什么没有 main 函数?为什么我不推荐写 main 函数?
    毫无疑问Python中没有所谓的main入口函数,但是网上经常看到一些文章提“Python的main函数”、“建议写main函数”……有些人是知情的,他的意图可能是模仿那些正宗的......
  • Python 为什么不用分号作终止符?
    一般而言,编程语言中使用分号“;”来实现两种目的:作为语句分隔符:使用分号来分隔语句(statement),这样就能在一行代码中书写多条语句(一行多句)作为语句终止符:使用分号来终止语句,这......