Python实现淘宝和京东简单秒杀清空购物车

思路: 利用selenium 的方法来模拟点击页面 到某一特定时间就清空购物车并提交订单

Selenium是一个用于测试网站的自动化测试工具,支持各种浏览器包括Chrome、Firefox、Safari等主流界面浏览器,同时也支持phantomJS无界面浏览器

selenium 的安装与使用文档可以参照以下博客:点我查看

淘宝清空购物车实现

import datetime
import time


from selenium import webdriver
# 打开浏览器
browser = webdriver.Chrome()

def login():
# 打开淘宝
browser.get("https://www.taobao.com/")
time.sleep(3)
# 没登录就登录
if browser.find_element_by_link_text("亲,请登录"):
browser.find_element_by_link_text("亲,请登录").click()
print(f"请扫码登录")
# 给用户扫码时间
time.sleep(15)
pass
pass
def pick():
# 跳转到购物车页面
browser.get("https://cart.taobao.com/cart.htm")
time.sleep(3)
# 全选购物车
browser.find_element_by_id("J_SelectAll1").click()
#browser.find_element_by_class_name("J_DeleteSelected").click()
time.sleep(3)
# try:
# #browser.find_element_by_id("ks-component2804")
# alert = browser.switch_to.alert
# print("弹出框文本为:"+alert.text)
# #alert.assertEquals("确认要删除这些宝贝吗?", alert.getText())
# alert.accept()
# except:
# print("出现错误了")
pass
def buy(buyTime):
# 模拟用户秒杀过程 如果时间与用户设定时间一致后开始提交订单 提交失败则一直提交
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')

# 对比时间,时间到的话就点击结算
if now > buyTime:
try:
# 点击结算按钮
if browser.find_element_by_id("J_Go"):
browser.find_element_by_id("J_Go").click()
browser.find_element_by_link_text('提交订单').click()
except:
time.sleep(0.1)
print(now)
time.sleep(0.1)


if __name__ == '__main__':
login()
pick()
# times = input("请输入抢购时间:")
# 时间格式:"2018-09-06 11:20:00.000000"
buy("2021-08-29 18:31:30.000000")


京东清空购物车实现

import datetime
import time


from selenium import webdriver
browser = webdriver.Chrome()

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(f"请扫码登录")
time.sleep(15)
pass
pass
def pick():
browser.get("https://cart.jd.com/cart_index")
time.sleep(3)
if browser.find_element_by_name("select-all").is_selected():
pass
else:
browser.find_element_by_name("select-all").click()
#browser.find_element_by_class_name("J_DeleteSelected").click()
time.sleep(3)
# try:
# #browser.find_element_by_id("ks-component2804")
# alert = browser.switch_to.alert
# print("弹出框文本为:"+alert.text)
# #alert.assertEquals("确认要删除这些宝贝吗?", alert.getText())
# alert.accept()
# except:
# print("出现错误了")
pass
def buy():
browser.find_element_by_link_text("去结算").click()
time.sleep(3)
browser.find_element_by_class_name("checkout-submit").click()
if __name__ == '__main__':
login()
pick()
buy()