Python 实现抢购脚本--Mac 环境

说明

介绍

该脚本使用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: 编写代码将商品添加到购物车
    passdef 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
 
posted @ 2023-10-26 11:15  Tenak  阅读(152)  评论(0编辑  收藏  举报
//