python+selenium小米商城红米K40手机抢购!

python+selenium小米商城红米K40手机抢购!使用环境1、python32、seleniumselenium使用简述1、安装seleniumpipinstallselenium12、安装ChromeDriver下载地址:http://chromedriver.storage.proxy.ustclug.org/index.html注意:下载的ChromeDriver需要与Chrome版本一致。1)Chrome版本查看:2)ChromeDriver对应版本下载:3)ChromeDriv…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

使用环境

1、python3

2、selenium

 

selenium使用简述

1、安装selenium

 

pip install selenium

1

2、安装ChromeDriver

下载地址:http://chromedriver.storage.proxy.ustclug.org/index.html

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

1)Chrome版本查看:

 

2)ChromeDriver对应版本下载:

 

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(“Redmi K40立即购买-小米商城“) # 切换到秒杀页面

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学习问题。为便于交流,点击蓝色自己加入讨论解答资源基地

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223786.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql timestampdiff>_MySQL TIMESTAMPDIFF()用法及代码示例

    mysql timestampdiff>_MySQL TIMESTAMPDIFF()用法及代码示例TIMESTAMPDIFF():MySQL中的此函数用于从另一个函数中减去DateTime表达式后返回一个值。用法:TIMESTAMPDIFF(unit,expr1,expr2)Parameters:它将接受三个参数。单位-它表示结果的单位。可以是以下之一。微秒,秒,分钟,小时,天,周,月,季度,年expr1-第一个日期或DateTime表达式。expr2-第二个日期或DateTime表达式。返回…

    2022年6月5日
    35
  • UDP 协议格式

    UDP 协议格式UDPRFC:https://tools.ietf.org/html/rfc768UDP协议和TCP协议同位于传输层,介于网络层(IP)和应用层之间:UDP数据部分位应用层报文。而UDP报文在IP中承载。UDP报文格式相对于简单,如下图:源端口:端口号0-65535,1-1024保留端口号,为标准的服务端口目的端口:同上UDP长度:header+data总长度UDP校验

    2022年5月4日
    51
  • 卷积神经网络的卷积层_卷积神经网络详解

    卷积神经网络的卷积层_卷积神经网络详解模块融合:将一些相邻模块进行融合以提高计算效率,比如conv+relu或者conv+batchnormalization+relu,最常提到的BN融合指的是conv+bn通过计算公式将bn的参数融入到weight中,并生成一个bias;上图详细描述了BN层计算原理以及如何融合卷积层和BN层,这里进行验证:定义三个模型:定义模型1:一层卷积层和一层BN层网络importnumpyasnpimportmathimporttorchimporttorch.nn.

    2022年10月10日
    2
  • mysql如何查询前10个数据_查询前十条数据

    mysql如何查询前10个数据_查询前十条数据要选择前10条记录,请在MySQL中使用LIMIT。让我们首先创建一个表-mysql>createtableDemoTable->(->PageNumbertext->);使用插入命令在表中插入一些记录-mysql>insertintoDemoTablevalues(‘Page-1’);mysql>insertintoDemoTabl…

    2025年10月3日
    1
  • python程序编写简介

    语句和语法变量的定义和赋值内存管理内存管理引用计数增加引用计数减少引用计数自动回收机制(python独有的)实例:python对象标识符专用下划线标识符_xxx:不能用from

    2022年3月29日
    58
  • matlab物理碰撞建模_opencascade 碰撞检测

    matlab物理碰撞建模_opencascade 碰撞检测碰撞检测Note本节暂未进行完全的重写,错误可能会很多。如果可能的话,请对照原文进行阅读。如果有报告本节的错误,将会延迟至重写之后进行处理。当试图判断两个物体之间是否有碰撞发生时,我们通常不使用物体本身的数据,因为这些物体常常会很复杂,这将导致碰撞检测变得很复杂。正因这一点,使用重叠在物体上的更简单的外形(通常有较简单明确的数学定义)来进行碰撞检测成为常用的方法。我们基于这些简单的外形来检测碰撞,…

    2025年7月14日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号