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中操作字典之update()方法的使用
May 22 Python
深入学习Python中的装饰器使用
Jun 20 Python
详解Python如何获取列表(List)的中位数
Aug 12 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
怎么使用pipenv管理你的python项目
Mar 12 Python
python中使用psutil查看内存占用的情况
Jun 11 Python
机器学习实战之knn算法pandas
Jun 22 Python
python:动态路由的Flask程序代码
Nov 22 Python
tensorflow之并行读入数据详解
Feb 05 Python
Python matplotlib可视化实例解析
Jun 01 Python
Python 实现RSA加解密文本文件
Dec 30 Python
pandas apply使用多列计算生成新的列实现示例
Feb 24 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 str_pad 函数用法简介
2009/07/11 PHP
smarty 缓存控制前的页面静态化原理
2013/03/15 PHP
基于php socket(fsockopen)的应用实例分析
2013/06/02 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
2014/04/10 PHP
基于Laravel5.4实现多字段登录功能方法示例
2017/08/11 PHP
Yii2框架视图(View)操作及Layout的使用方法分析
2019/05/27 PHP
php中目录操作opendir()、readdir()及scandir()用法示例
2019/06/08 PHP
jqPlot Option配置对象详解
2009/07/25 Javascript
jquery validate使用攻略 第四步
2010/07/01 Javascript
jquery 定位input元素的几种方法小结
2013/07/28 Javascript
js+css实现有立体感的按钮式文字竖排菜单效果
2015/09/01 Javascript
基于JavaScript实现弹出框效果
2016/02/19 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
AngularJS中下拉框的高级用法示例
2017/10/11 Javascript
layui默认选中table的CheckBox复选框方法
2019/09/19 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
[12:29]《一刀刀一天》之DOTA全时刻19:蝙蝠骑士田伯光再度不举
2014/06/10 DOTA
理解Python中的类与实例
2015/04/27 Python
疯狂上涨的Python 开发者应从2.x还是3.x着手?
2017/11/16 Python
Python使用matplotlib简单绘图示例
2018/02/01 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
python web框架 django wsgi原理解析
2019/08/20 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
CSS3 please 跨浏览器的CSS3产生器
2010/03/14 HTML / CSS
放飞蜻蜓反思
2014/02/05 职场文书
会计人员岗位职责
2014/03/19 职场文书
安踏广告词改编版
2014/03/21 职场文书
入股协议书
2014/04/14 职场文书
学校地质灾害防治方案
2014/06/10 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
2014年高中班主任工作总结
2014/11/08 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
2019职场实习报告该怎么写?
2019/07/01 职场文书
Python预测分词的实现
2021/06/18 Python