说明

介绍

该脚本使用Selenium库来实现自动登录并在指定的时间购买商品。

运行前准备

mac 的safari浏览器本身已经集成了safaridriver,只要启用并开启即可,步骤如下:

  1. 终端启用safaridriver:

    sudo safaridriver --enable
  2. 尝试运行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