使用技术:Python+selenium
使用的包:selenium, time, datetime。其中selenium是第三方库需要安装,而且selenium使用需要下载一个浏览器驱动,并将驱动地址设置环境变量。selenium配置请自行搜索设置。
from selenium import webdriver
from selenium.webdriver.common.by import By
import time
import datetime
def login(browser):
# 淘宝登录进入购物车
browser.get('https://www.taobao.com/')
time.sleep(2)
browser.maximize_window()
if browser.find_element(By.LINK_TEXT, '亲,请登录'):
browser.find_element(By.LINK_TEXT, '亲,请登录').click()
print("请在60秒内完成登录!")
time.sleep(60)
now = datetime.datetime.now()
print("login success: ", now.strftime("%Y-%m-%d %H:%M:%S"))
def buy(browser, buy_time):
# 进入购物车
browser.get('https://cart.taobao.com/cart.htm')
time.sleep(3)
# 点击全选
while True:
try:
browser.find_element(By.XPATH, '//div[@class="cart-checkbox"]').click()
print('已经全选')
break
except:
print("找不到全选按钮")
while True:
cur_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
print(cur_time)
# 时间到了就点击结算
if cur_time > buy_time:
# 疯狂点击结算
while True:
try:
browser.find_element(By.XPATH, '//a[@id="J_Go"]').click()
print("已经点击结算")
break
except:
print("wait...")
time.sleep(0.01)
# 疯狂点击提交订单
while True:
try:
browser.find_element(By.XPATH, "//a[@role='button' and @title='提交订单']").click()
print("请尽快结算")
break
except:
print("try again..")
time.sleep(0.01)
if __name__ == '__main__':
browser = webdriver.Chrome()
login(browser)
# 设置抢购时间
kill_time = '2022-07-06 21:41:00'
buy(browser, kill_time)
browser.quit()
登录操作这里设置的是60秒,可以根据自己实际情况自定义。
点击结算按钮,点击提交按钮时间间隔是0.01秒,这也可以自行修改
首先将需要购买的商品加入购物车,购物车中只添加需要购买的商品,因为后面有个全选操作