翼度科技»论坛 编程开发 python 查看内容

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

9

主题

9

帖子

27

积分

新手上路

Rank: 1

积分
27
说明

介绍

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

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

  • 终端启用safaridriver:
    1. sudo safaridriver --enable
    复制代码
  • 尝试运行safraidriver,看是否有权限问题。
    1. /usr/bin/safaridriver
    复制代码
环境依赖


  • Python 版本: 3.9.6
此脚本使用以下Python库:

  • Selenium
您可以使用以下命令来安装依赖:
  1. pip install selenium
  2. pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple  #当无法下载时可以使用清华源
复制代码
  
代码
  1. from selenium import webdriver
  2. from selenium.webdriver.common.by import By
  3. import datetime
  4. import time
  5. # 启动浏览器的驱动器
  6. driver = webdriver.Safari()
  7. # 最大化浏览器
  8. driver.maximize_window()
  9. # 传入用户名密码,登录
  10. def login():
  11.     # 打开
  12.     driver.get("https://www.?.com")
  13.     # 查找文本,登录
  14.     if driver.find_element(By.LINK_TEXT, "亲,请登录"):
  15.         driver.find_element(By.LINK_TEXT, "亲,请登录").click()
  16.     """# 查找文本,登录
  17.     if driver.find_element_by_link_text("亲,请登录"):
  18.         driver.find_element_by_link_text("亲,请登录").click()"""
  19.     print("请在30秒内完成扫码")
  20.     time.sleep(30)
  21.     driver.get("https://cart.taobao.com/cart.htm")
  22.     time.sleep(3)
  23.     # 点击购物车里全选按钮
  24.     if driver.find_element(By.ID, "J_SelectAll1"):
  25.         driver.find_element(By.ID, "J_SelectAll1").click()
  26.     time.sleep(3)
  27.     now = datetime.datetime.now()
  28.     print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
  29. # 将商品添加到购物车的函数,需要根据商品链接或关键词来修改
  30. def add_to_cart():
  31.     # TODO: 编写代码将商品添加到购物车
  32.     pass
  33. def buy(buytime):
  34.     while True:
  35.         now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
  36.         if now == buytime:
  37.             try:
  38.                 # 调用将商品添加到购物车的函数
  39.                 add_to_cart()
  40.                 # 点击结算按钮
  41.                 if driver.find_element(By.ID,"J_Go"):
  42.                     driver.find_element(By.ID,"J_Go").click()
  43.                 driver.find_element(By.LINK_TEXT,"提交订单").click()
  44.                 """if driver.find_element_by_id("J_Go"):
  45.                     driver.find_element_by_id("J_Go").click()
  46.                 driver.find_element_by_link_text('提交订单').click()"""
  47.             except:
  48.                 time.sleep(1)
  49.         print(now)
  50.         time.sleep(1)
  51. if __name__ == "__main__":
  52.     # 登录
  53.     login()
  54.     # 设置抢购时间
  55.     buy('2023-10-23 11:08:05')
复制代码
 
代码运行

将代码保存为.py 文件 并在命令行中运行(确保运行目录下包含此文件)
  1. python3 tb.py
复制代码
 
来源:https://www.cnblogs.com/Tenak/p/17788999.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具