• 淘宝购物车抢购


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

  • 相关阅读:
    每日英语:Universities in Singapore strengthen cooperation with China
    每日英语:The Exercise Equivalent of a Cheeseburger?
    每日英语:Eating Safely in China, on a Budget
    每日英语:What Makes A RiskTaker
    OAuth2 vs JWT,到底怎么选?
    Docker 为什么输给了Kubernetes?Docker 员工自述!
    90 岁程序员,他的压缩算法改变了世界!
    数据库设计的 10 个最佳实践!
    代码写的垃圾被嫌弃?这 3 个插件你值得拥有!
    ShardingJdbc 实现读写分离 + 分库分表,写得太好了!
  • 原文地址:https://www.cnblogs.com/fisherpau/p/14275388.html
Copyright © 2020-2023  润新知