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 list排序的两种方法及实例讲解
Mar 20 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
Apr 11 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
Python+selenium 获取浏览器窗口坐标、句柄的方法
Oct 14 Python
django框架实现一次性上传多个文件功能示例【批量上传】
Jun 19 Python
解决django model修改添加字段报错的问题
Nov 18 Python
Python创建一个元素都为0的列表实例
Nov 28 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
PyCharm 专业版安装图文教程
Feb 20 Python
python实现贪吃蛇游戏源码
Mar 21 Python
Python不支持 i ++ 语法的原因解析
Jul 22 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中一些可以替代正则表达式函数的字符串操作函数
2014/11/17 PHP
Laravel 5框架学习之Laravel入门和新建项目
2015/04/07 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
WordPress中"无法将上传的文件移动至"错误的解决方法
2015/07/01 PHP
JavaScript脚本性能优化注意事项
2008/11/18 Javascript
jQuery中fadeIn、fadeOut、fadeTo的使用方法(图片显示与隐藏)
2013/05/08 Javascript
jquery ajax实现下拉框三级无刷新联动,且保存保持选中值状态
2013/10/29 Javascript
用js代码改变单选框选中状态的简单实例
2013/12/18 Javascript
js插件方式打开pdf文件(浏览器pdf插件分享)
2013/12/20 Javascript
javascript学习笔记(四)function函数部分
2014/09/30 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
ztree获取选中节点时不能进入可视区域出现BUG如何解决
2015/12/03 Javascript
Jquery ui datepicker设置日期范围,如只能隔3天【实现代码】
2016/05/04 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
JavaScript下拉菜单功能实例代码
2017/03/01 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
vue随机验证码组件的封装实现
2020/02/19 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
Python入门篇之字典
2014/10/17 Python
django加载本地html的方法
2018/05/27 Python
css3一款3D字体带阴影效果的实现步骤
2013/03/20 HTML / CSS
葡萄牙鞋子品牌:Fair
2016/12/10 全球购物
表达自我的市场:Society6
2018/08/01 全球购物
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
行政专员工作职责
2013/12/22 职场文书
超市仓管员岗位职责
2014/04/07 职场文书
校庆标语集锦
2014/06/25 职场文书
城管执法人员纪律作风整顿思想汇报
2014/09/13 职场文书
观后感开头
2015/06/19 职场文书
会计做账心得体会
2016/01/22 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python
vue整合百度地图显示指定地点信息
2022/04/06 Vue.js
HTML静态页面获取url参数和UserAgent的实现
2022/08/05 HTML / CSS