首页 > 其他分享 >淘宝或京东等秒杀抢购 【转载】

淘宝或京东等秒杀抢购 【转载】

时间:2022-10-12 16:14:07浏览次数:52  
标签:name 抢购 driver element 秒杀 time 京东 now find

 

复制代码
from selenium import webdriver
import datetime
import time

# 连接Chrome浏览器
driver = webdriver.Chrome()

def login(url):
    # 打开淘宝登录页,并进行登录
    driver.get("https://www.taobao.com")
    time.sleep(3)
    if driver.find_element_by_link_text("亲,请登录"): # F12 点击事件name定位(注意空格)
        driver.find_element_by_link_text("亲,请登录").click()
        print("请在20秒内完成登录")
        time.sleep(20)
        driver.get(url)
    time.sleep(3)
    now = datetime.datetime.now()
    print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))


def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        # 对比时间,时间到的话就点击结算
        if now >= buytime:
            try:
                # 立即抢购
                if driver.find_element_by_id("J_LinkBuy"): # F12 点击事件id定位
                    print("速度点击!!!")
                    driver.find_element_by_id("J_LinkBuy").click()
                    time.sleep(0.09)
                    while now >= buytime:
                        try:
                            print("赶紧买!!!")
                            # 提交订单
                            if driver.find_element_by_class_name('go-btn'): # F12 点击事件class定位
                                driver.find_element_by_class_name('go-btn').click()
                        except:
                            time.sleep(0.02)
            except:
                time.sleep(0.08)
        print(now)
        time.sleep(0.05)

#  定位元素方式三种任何一个都可以使用过,实际使用自由组合。
# (1)id定位 driver.find_element_by_id("id")
# (2)name定位 driver.find_element_by_name("name") 
# (3)class定位 driver.find_element_by_class_name("class_name")


# 抢购主函数
if __name__ == "__main__":
    times = input("请输入抢购时间:时间格式:2021-12-29 19:45:00.000000")
    url = input("请输入抢购地址")
    login(url)
    buy(times)
复制代码

4.京东秒杀脚本

复制代码
from selenium import webdriver
import datetime
import time

def login():
    # 打开淘宝登录页,并进行扫码登录
    browser.get("https://www.jd.com")
    time.sleep(3)
    if browser.find_element_by_link_text("你好,请登录"):
        browser.find_element_by_link_text("你好,请登录").click()
        print("======请在30秒内完成登录")
        time.sleep(30)
        browser.get("https://cart.jd.com")
    time.sleep(3)
    now = datetime.datetime.now()
    print('======login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
    time.sleep(5)

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("======结算成功")
                        break
                except:
                    pass

            while True:
                try:
                    if browser.find_element_by_id('order-submit'):
                        browser.find_element_by_id('order-submit').click()
                        now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
                        print("======抢购成功时间:%s" % now1)
                except:
                    print("======再次尝试提交订单")
            time.sleep(0.01)

#  定位元素方式三种任何一个都可以使用过,实际使用自由组合。
# (1)id定位 driver.find_element_by_id("id")
# (2)name定位 driver.find_element_by_name("name")
# (3)class定位 driver.find_element_by_class_name("class_name")


# 抢购主函数
if __name__ == "__main__":
    times = input("请输入抢购时间,格式如(2018-09-06 11:20:00.000000):")
    browser = webdriver.Chrome()
    browser.maximize_window()
    login()
    choose = int(input("到时间自动勾选购物车请输入“1”,否则输入“2”:"))
    buy(times, choose)
复制代码

总结

本篇文章主要介绍了Python 通过selenium实现毫秒级自动抢购的示例代码,通过扫码登录即可自动完成一系列操作,抢购时间精确至毫秒,可抢加购物车等待时间结算的,也可以抢聚划算、火车票等的商品。

标签:name,抢购,driver,element,秒杀,time,京东,now,find
From: https://www.cnblogs.com/chenwandong/p/16784829.html

相关文章

  • ResNet超强变体:京东AI新开源的计算机视觉模块!(附源代码)
    计算机视觉研究院专栏作者:Edison_G京东AI研究院提出的一种新的注意力结构。将CoTBlock代替了ResNet结构中的3x3卷积,来形成CoTNet,在分类检测分割等任务效果都出类拔萃!公众号......
  • 【Python秒杀脚本】淘宝或京东等秒杀抢购
    我们的目标是秒杀淘宝或京东等的订单,这里面有几个关键点,首先需要登录淘宝或京东,其次你需要准备好订单,最后要在指定时间快速提交订单。 这里就要用到一个爬虫利器Seleniu......
  • 解析京东cookie
    该脚本会自动解析剪贴板内的cookie内容,免去手动寻找pin和key的麻烦 #-*-coding:utf-8-*-#@Time:2022/9/30#@Author:Naihe#@Email:239144498@qq.......
  • SAE 助力贵州酒店集团从容支撑贵州特产抢购
    作者:王彬|杏祉尧|黄枫项目背景贵州酒店集团有限公司于 2019年2月28日注册成立,是经贵州省人民政府批准并授权省国资委履行出资人职责的省管大一型企业,全资及控股子......
  • 聊聊秒杀系统的设计(四)
    前言如果你第一次接触秒杀,可能还不太理解,库存100件就卖100件,在数据库里减到0就好了,这有什么麻烦的?理论上是这样,但是具体到业务场景中就没那么简单了。今天就聊聊减库存的......
  • 京东物流注册流程
    京东物流流程注册账号,创建物流应用(需要提交《物流应用系统对接申请》)保存AppKey和AppSecret,并配置回调接口调用接口获取codehttps://open-oauth.jd.com/oauth2......
  • 案例:模拟京东快递单号查询(当我们在文本框输入内容时,文本框上面自动显示大号字的内容)
    案例:模拟京东快递单号查询(当我们在文本框输入内容时,文本框上面自动显示大号字的内容)案例分析:快递单号输入内容时,上面的大号字体盒子(con)显示(这里的字号更大)表单检验用户......
  • 案例:模拟京东按键输入内容(当我们按下 s 键,光标就定位到搜索框)
    案例:模拟京东按键输入内容(当我们按下s键,光标就定位到搜索框)案例分析:核心思路:检测用户是否按下了s键,如果按下了s键,就把光标定位到搜索框里面使用键盘事件对象里面......
  • 京东数字化转型
    数字化转型是这几年很流行的一个概念,我们也听到有很多大厂已经转型或者正在转型,今天用140页屁屁踢带大家了解一下京东的数字化转型方法论,希望对大家有帮助。 一、企......
  • 京东前端面试题
    代码输出结果f=function(){returntrue;};g=function(){returnfalse;};(function(){if(g()&&[]==![]){f=functionf(){return......