Python篇:某宝毫秒级的精准秒杀

目录
1.项目环境
2.某宝抢购流程分析
3.程序实现思路
4.代码实践与梳理

项目环境
操作系统: Windows 10
开发环境:python3.7
lDE: Pycharm
自动化模块: Selenium
安装命令: pip install selenium
浏览器版本:Google Chrome 99.0.4844.51
浏览器驱动版本: ChromeDriver 99.0.4844.51

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

某宝抢购流程分析
1.登录网站
2.购物车选中抢购商品
3.结算购买
4.提交订单
关键:快速完成前面流程,当订单进入提交页面时,付款时间不影响抢购。
程序实现思路
购物流程都是固定没有变化的,因此可以把购物流程步骤用代码编辑好交给selenium去自动执行。
项目结构:驱动直接复制放入项目根路径

 

1、导入对应类库实现对浏览器的操作
author:wl
ide: PyCharm
from selenium inport 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 _partia1_link_text('亲,请登录'):

  driver.find_element_by _partia1_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:                    

             print(f"再次尝试提交订单")             

        time.sleep(0.01)

posted @ 2022-04-13 10:01  BUGMANWL  阅读(210)  评论(0编辑  收藏  举报