python+selenium小米商城红米K40手机自动抢购的示例代码


Posted in Python onMarch 24, 2021

使用环境

1、python3
2、selenium

selenium使用简述

1、安装selenium

pip install selenium

2、安装ChromeDriver

下载地址:http://chromedriver.storage.googleapis.com/index.html

注意:下载的ChromeDriver需要与Chrome版本一致。

1)Chrome版本查看:

python+selenium小米商城红米K40手机自动抢购的示例代码

2)ChromeDriver对应版本下载:

python+selenium小米商城红米K40手机自动抢购的示例代码

3)ChromeDriver下载后解压到任意文件夹,建议可以放到项目目录中,拷贝chromedriver可执行文件的路径,代码中需要用到:

代码实现

from selenium import webdriver
import time
import datetime
 
 
class XiaoMi():
  def __init__(self):
    self.name = "" #登陆小米商城用户名
    self.pwd = "" #登陆小米商城密码
    self.buytime = "2021-03-12 10:00:00" # 指定秒杀时间,并且开始等待秒杀
    self.chrome_driver = "" #chromedriver的文件位置 例如:self.chrome_driver = 'C:/Desktop/lib/chromedriver.exe' 
 
    self.browser = webdriver.Chrome(executable_path = self.chrome_driver)
 
  def login(self):
    self.browser.get('https://account.xiaomi.com/') # 登录网址
    time.sleep(2)
 
    self.browser.find_element_by_name("account").send_keys(self.name)
    self.browser.find_element_by_name("password").send_keys(self.pwd)
    self.browser.find_element_by_xpath('//*[@type="submit"]').click()
    time.sleep(3)
    #抢购红米K40
    self.buy_on_time()
 
  #抢手机红米K40
  def buy_on_time(self):
    self.browser.get("https://www.mi.com/buy/detail?product_id=13544") # 切换到秒杀页面
    time.sleep(2)
    self.browser.find_element_by_xpath('//div[@class="sale-btn"]/a').click() # 再次登陆
    time.sleep(2)
    self.browser.find_element_by_xpath("//div[@class='option-box']/ul/li[4]").click() # 选择12G+256G版本
    print('登录成功,正在等待抢购···')
 
    while True: # 不断刷新时钟
      now = datetime.datetime.now()
      if now.strftime('%Y-%m-%d %H:%M:%S') == self.buytime:
        self.browser.find_element_by_xpath('//div[@class="sale-btn"]/a').click() # 购买按钮的Xpath
        print('下单成功,请抓紧付款!')
      time.sleep(0.01) # 注意刷新间隔时间要尽量短
 
if __name__ == '__main__':
  MS = XiaoMi()
  MS.login()
Python 相关文章推荐
Python自动调用IE打开某个网站的方法
Jun 03 Python
Python实现的rsa加密算法详解
Jan 24 Python
python正则表达式爬取猫眼电影top100
Feb 24 Python
python高阶爬虫实战分析
Jul 29 Python
virtualenv 指定 python 解释器的版本方法
Oct 25 Python
IntelliJ IDEA安装运行python插件方法
Dec 10 Python
python异步实现定时任务和周期任务的方法
Jun 29 Python
python 提取文件指定列的方法示例
Aug 07 Python
浅谈Django2.0 加xadmin踩的坑
Nov 15 Python
使用pytorch搭建AlexNet操作(微调预训练模型及手动搭建)
Jan 18 Python
解决Keras中循环使用K.ctc_decode内存不释放的问题
Jun 29 Python
SpringBoot首页设置解析(推荐)
Feb 11 Python
Python使用openpyxl复制整张sheet
Mar 24 #Python
基于Python 函数和方法的区别说明
Mar 24 #Python
Pytorch之扩充tensor的操作
Mar 04 #Python
快速一键生成Python爬虫请求头
Mar 04 #Python
10个顶级Python实用库推荐
Mar 04 #Python
pytorch 把图片数据转化成tensor的操作
Mar 04 #Python
pytorch 计算Parameter和FLOP的操作
Mar 04 #Python
You might like
PHP调用三种数据库的方法(2)
2006/10/09 PHP
E路文章系统PHP
2006/12/11 PHP
PHP的explode和implode的使用说明
2011/07/17 PHP
解决CodeIgniter伪静态失效
2014/06/09 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
Smarty中常用变量操作符汇总
2014/10/27 PHP
摘自织梦CMS中的图片处理类
2015/08/08 PHP
UPUPW 更新 64 位 Apache 系列 PHP 7.0 正式版
2015/12/08 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
php 使用 __call实现重载功能示例
2019/11/18 PHP
JQuery 学习笔记 选择器之一
2009/07/23 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
微信小程序 less文件编译成wxss文件实现办法
2016/12/05 Javascript
面试常见的js算法题
2017/03/23 Javascript
基于VuePress 轻量级静态网站生成器的实现方法
2018/04/17 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
javascript this指向相关问题及改变方法
2020/11/19 Javascript
python模拟enum枚举类型的方法小结
2015/04/30 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
Python模块future用法原理详解
2020/01/20 Python
python中sort sorted reverse reversed函数的区别说明
2020/05/11 Python
css sprite简单实例
2016/05/23 HTML / CSS
亚马逊印度站:Amazon.in
2017/10/15 全球购物
英国美发和美容产品商城:HQhair
2019/02/08 全球购物
什么是makefile? 如何编写makefile?
2013/01/02 面试题
设备动力科岗位职责范本
2014/02/23 职场文书
温馨提示标语
2014/06/26 职场文书
2014物价局群众路线对照检查材料思想汇报
2014/09/21 职场文书
实习生矿工检讨书
2014/10/13 职场文书
会议通知
2015/04/15 职场文书
家庭聚会祝酒词
2015/08/11 职场文书
世界十大动漫制作公司排行榜,迪士尼上榜,第二是美国代表性文化符
2022/03/18 欧美动漫
Python内置包对JSON文件数据进行编码和解码
2022/04/12 Python