本帖最后由 eleckits 于 2019-11-13 10:15 编辑
Python3.7环境下天猫秒杀程序
直接上代码。
当然,需要先pip selenium等工具。
[Python] 纯文本查看 复制代码 # !/usr/bin/env python
# -*- coding: utf-8 -*-
from selenium import webdriver
import datetime
import time
def login():
# 打开淘宝登录页,并进行扫码登录
browser.get("https://www.taobao.com")
time.sleep(2)
if browser.find_element_by_link_text("亲,请登录"):
browser.find_element_by_link_text("亲,请登录").click()
print("请在15秒内完成扫码")
time.sleep(15)
browser.get("https://cart.tmall.com/cart.htm?from=bmini&tpId=725677994")
time.sleep(2)
now = datetime.datetime.now()
print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
def buy(times, choose):
# 点击购物车里全选按钮
if choose == 2:
print("请手动勾选需要购买的商品")
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 对比时间,时间到的话就点击结算
if now > times:
if choose == 1:
while True:
try:
if browser.find_element_by_id("J_SelectAll2"):
browser.find_element_by_id("J_SelectAll2").click()
break
except:
print("找不到购买按钮")
# 点击结算按钮
while True:
try:
if browser.find_element_by_link_text("结 算"):
browser.find_element_by_link_text("结 算").click()
print("结算成功")
time.sleep(0.5)
break
except:
pass
while True:
try:
if browser.find_element_by_link_text("提交订单"):
# time.sleep(0.5)
browser.find_element_by_link_text("提交订单").click()
now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print("抢购成功时间:%s" % now1)
except:
print("再次尝试提交订单")
# time.sleep(0.5)
time.sleep(0.5)
if __name__ == "__main__":
times = input("请输入抢购时间,格式如(2019-11-11 20:10:00.000000):")
# 时间格式:"2019-11-11 11:20:00.000000"
browser = webdriver.Chrome()
browser.maximize_window()
login()
choose = int(input("到时间自动勾选购物车请输入“1”,否则输入“2”:"))
buy(times, choose)
|