python实现淘宝定时抢购简易版

获取淘宝服务器时间部分: getTime.py:

import http.client
import time

if __name__ == __main__:

    def get_webservertime(host):
        while True:
            try:
                conn = http.client.HTTPConnection(host)
                conn.request("GET", "/")
                r = conn.getresponse()
                ts = r.getheader(date)  # 获取http头date部分
                break
            except Exception as e:
                print(e)
                continue
        # 将GMT时间转换成北京时间
        ltime = time.strptime(ts[5:25], "%d %b %Y %H:%M:%S")
        ttime = time.localtime(time.mktime(ltime) + 8 * 60 * 60)
        dat = "%u-%02u-%02u" % (ttime.tm_year, ttime.tm_mon, ttime.tm_mday)
        tm = "%02u:%02u:%02u" % (ttime.tm_hour, ttime.tm_min, ttime.tm_sec)
        timeStr = dat +   + tm
        return timeStr

主程序部分 mian.py:

import getTime
from selenium import webdriver
import time

print(请输入抢购开始时间:格式 2020-02-27 10:00:00)
runTime = input()
print(请登录淘宝,将物品加入购物车,在购物车勾选并等待)
time.sleep(3)

driver = webdriver.Firefox()	#打开火狐浏览器
driver.get(http://www.taobao.com/)
#窗口最大化显示
driver.maximize_window()
time.sleep(15)
while True:
    tbTime = getTime.get_webservertime(www.taobao.com)

    #判断时间是否达到
    if(runTime > tbTime):
        print(时间未到请等待)
        time.sleep(0.05)
    elif(runTime <= tbTime):
        print(时间到!!!)
        break;
    else:
        print(时间格式出错,程序退出)
startTime = time.time()
#开始抢购
while True:
    #找到结算并单击
    try:
        if driver.find_element_by_id(J_Go):
            driver.find_element_by_id(J_Go).click()
            break
        time.sleep(0.05)
    except:
        print(结算按钮未找到,继续等待)
        time.sleep(0.05)

while True:
    #找到提交订单并点击
    try:
        if driver.find_element_by_class_name(go-btn):
            driver.find_element_by_class_name(go-btn).click()
            break
        time.sleep(0.05)
    except:
        print(提交订单按钮未找到,继续等待)
        time.sleep(0.05)
endTime = time.time()
totalTime = endTime - startTime
print(抢购耗时+str(totalTime)+秒)

time.sleep(5)
if driver.find_element_by_id(J_authSubmit):
    print(订单提交成功,快去支付吧)
else:
    print(订单提交失败,程序退出)
经验分享 程序员 微信小程序 职场和发展