当前位置 博文首页 > python+selenium小米商城红米K40手机自动抢购的示例代码

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

    作者:波润特 时间:2021-05-07 18:25

    使用环境

    1、python3
    2、selenium

    selenium使用简述

    1、安装selenium

    pip install selenium

    2、安装ChromeDriver

    下载地址:http://chromedriver.storage.googleapis.com/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("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()
    
    js
    下一篇:没有了