zoukankan      html  css  js  c++  java
  • 淘宝购物车抢购

    # -*- 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)

  • 相关阅读:
    可配置智联爬虫
    python 交错列表合并
    猫途鹰简单爬虫正则巩固
    urllib.error.URLError: urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:777) 解决办法
    与MongoDB有关的面试题
    go tcp socket
    postgresql摘要
    go+postgresql服务器
    go map slice array channel 传参
    postgresql 数据库学习
  • 原文地址:https://www.cnblogs.com/fisherpau/p/14275388.html
Copyright © 2011-2022 走看看