Python 实现抢购脚本--Mac 环境
介绍
该脚本使用Selenium库来实现自动登录并在指定的时间购买商品。
运行前准备
mac 的safari浏览器本身已经集成了safaridriver,只要启用并开启即可,步骤如下:
-
终端启用safaridriver:
sudo safaridriver --enable
-
尝试运行safraidriver,看是否有权限问题。
/usr/bin/safaridriver
-
Python 版本: 3.9.6
此脚本使用以下Python库:
-
Selenium
您可以使用以下命令来安装依赖:
pip install selenium pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple #当无法下载时可以使用清华源
代码
from selenium import webdriver from selenium.webdriver.common.by import By import datetime import time # 启动浏览器的驱动器 driver = webdriver.Safari() # 最大化浏览器 driver.maximize_window() # 传入用户名密码,登录 def login(): # 打开 driver.get("https://www.?.com") # 查找文本,登录 if driver.find_element(By.LINK_TEXT, "亲,请登录"): driver.find_element(By.LINK_TEXT, "亲,请登录").click() """# 查找文本,登录 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('login success:', now.strftime('%Y-%m-%d %H:%M:%S')) # 将商品添加到购物车的函数,需要根据商品链接或关键词来修改 def add_to_cart(): # TODO: 编写代码将商品添加到购物车 pass def buy(buytime): while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') if now == buytime: try: # 调用将商品添加到购物车的函数 add_to_cart() # 点击结算按钮 if driver.find_element(By.ID,"J_Go"): driver.find_element(By.ID,"J_Go").click() driver.find_element(By.LINK_TEXT,"提交订单").click() """if driver.find_element_by_id("J_Go"): driver.find_element_by_id("J_Go").click() driver.find_element_by_link_text('提交订单').click()""" except: time.sleep(1) print(now) time.sleep(1) if __name__ == "__main__": # 登录 login() # 设置抢购时间 buy('2023-10-23 11:08:05')
代码运行
将代码保存为.py 文件 并在命令行中运行(确保运行目录下包含此文件)
python3 tb.py