最近开始学习Python了,浅浅一看,发现很多和JavaScript类似的东西。原来测试用
selenium
,似乎可以简单的秒杀脚本就能实现了?于是查了一下资料,模仿着写了一个。
思路
- 打开浏览器
- 打开指定的网址
- 扫码登录或者输入密码登录,这里是需要人工扫码
- 跳转到购物车页面
- 点击全选
- 点击结算
- 点击提交订单
代码
from selenium import webdriverfrom selenium.webdriver.common.by import Byimport datetimeimport time# 启动火狐浏览器的驱动器driver = webdriver.Chrome()# 最大化浏览器driver.maximize_window()# 传入用户名密码,登录淘宝def login(): # 打开淘宝 driver.get("https://www.taobao.com") # 查找文本,登录 if driver.find_element(By.LINK_TEXT, "亲,请登录"): driver.find_element(By.LINK_TEXT, "亲,请登录").click() print("请在30秒内完成扫码") time.sleep(30) driver.get("https://cart.taobao.com/cart.htm") time.sleep(3) # 点击购物车里全选按钮 if driver.find_element(By.ID, "J_SelectAll1"): driver.find_element(By.ID, "J_SelectAll1").click() time.sleep(3) now = datetime.datetime.now() print('登录成功:', now.strftime('%Y-%m-%d %H:%M:%S'))def buy(buytime): while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') if now == buytime: try: # 点击结算按钮 if driver.find_element(By.ID, "J_Go"): driver.find_element(By.ID, "J_Go").click() print("结算成功") submit() except: pass print(now) time.sleep(0.01) breakdef submit(): while True: try: if driver.find_element(By.LINK_TEXT, '提交订单'): driver.find_element(By.LINK_TEXT, '提交订单').click() now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') print("抢购成功时间:%s" % now1) break except: print("再次尝试提交订单") time.sleep(0.01)if __name__ == "__main__": # 登录 login() # 设置抢购时间 buy('2023-02-25 20:54:00')
结论
- 一直到提交订单这里,商品已经锁定了,就直接人工输入密码即可购买。这玩意还是可以的嘛。
- 于是又想到了,能不能在写一个nodejs的版本,都是脚本语言嘛,大致差不多吧。
上述所有资料包括代码 ⚡️ ,朋友们如果有需要《全套0基础入门到进阶的Python学习资料》的,可以扫描下方二维码免费领取 🆓