利用Python+selenium实现小米商城抢购代码

学习软件测试时了解了selenium,脚本录制很方便,写了一个简单的脚本

selenium可以方便进行Web测试,并且支持多种语言。因此我们选用selenium工具,实现简单的小米商城的商品抢购(其他购物平台类似)。

首先需要安装一款浏览器,selenium支持大多数主流浏览器如Chrome,Firefox等,这里使用Firefox。

然后下载selenium工具,并且将.exe解压到浏览器的根目录(如D:\Firefox)下,并且将浏览器根目录加入系统Path

 下载地址

selenium的功能非常强大,拥有多种定位标签的方法,实际应用时可以根据标签的具体属性选择方法

from selenium import webdriver
import time
import datetime

browser = webdriver.Firefox()

def login(name ,pwd):
    browser.get( 'https://account.xiaomi.com/')#登录网址
    time.sleep(2)
    browser.find_element_by_id("username").send_keys(name) #利用账号标签的ID,确定位置并send信息
    browser.find_element_by_id("pwd").send_keys(pwd) #利用密码标签的ID,确定位置并send信息
    browser.find_element_by_id("login-button").click()#利用登录按钮的ID,确定位置并点击
    #如果找不到标签ID,可以使用其他方法来确定元素位置
    time.sleep(3)
    browser.get("https://www.mi.com/seckill/")#切换到秒杀页面
    print('登录成功,正在等待秒杀···')

def buy_on_time(buytime):
    while True: #不断刷新时钟
        now = datetime.datetime.now()
        if now.strftime('%Y-%m-%d %H:%M:%S') == buytime:
            browser.find_element_by_xpath('/html/body/div[3]/div[2]/div[2]/div/ul[1]/li[6]/div[2]/a[2]').click() #购买按钮的Xpath
            print('下单成功,请抓紧付款!')
        time.sleep(0.01)#注意刷新间隔时间要尽量短

login('账号' , '密码')
buy_on_time('2018-06-07 21:25:00')#指定秒杀时间,并且开始等待秒杀

 

你可能感兴趣的:(Python爬虫脚本)