淘宝购物车抢购

# -*- coding:utf-8 -*-

from selenium import webdriver #从selenium库导入webdriver
import datetime #导入datetime库
import time #导入时间库


def login(): #定义一个登录函数
wd.get("https://www.taobao.com") # 打开淘宝登录页,并进行扫码登录
time.sleep(3) #等待加载3秒
if wd.find_element_by_link_text("亲,请登录"): #如果找到“亲,请登录”这个元素
wd.find_element_by_link_text("亲,请登录").click() #点击这个元素
print("请在15秒内完成扫码") #15秒内完成扫码
time.sleep(15) #等15s
wd.get("https://cart.taobao.com/cart.htm") #进入购物车
time.sleep(3) #等待3s

now = datetime.datetime.now() #当前登录时间
print('登录成功:', now.strftime('%Y-%m-%d %H:%M:%S')) #


def buy(times, choose): #定义一个购买函数
if choose == 2: # 如果选择的是2
print("请手动选择要购买的商品") #手动选择
while True: #持续循环
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 对比时间,时间到的话就点击结算
if now > times: # 抢购时间
if choose == 1: #如果选择的是1
while True: #持续循环
try: #尝试
if browser.find_element_by_id("J_SelectAll2"): #通过id找到元素
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("结算成功")
break #结束循环
except:
pass
while True:
try:
if browser.find_element_by_link_text('提交订单'):
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.01)


if __name__ == "__main__":
times = input("请输入抢购时间,格式如(2020-08-22 00:00:00.000000):") #输入抢购时间
chromedriver = 'chromedriver.exe' # 浏览器内核文件位置
chome_options = webdriver.ChromeOptions()
wd = webdriver.Chrome(chromedriver, chrome_options=chome_options)
wd.delete_all_cookies() # 删除cookies
wd.maximize_window() # 将浏览器最大化
wd.implicitly_wait(120) # 最大等待120秒以防网速问题导致页面无法加载
login()
choose = int(input("到达抢购时间时需要自动勾选购物车请输入“1”,否则输入“2”:"))
buy(times, choose)

posted @ 2021-01-14 08:43  玉米花豆  阅读(184)  评论(0编辑  收藏  举报