Python基于selenium三方库实现淘宝秒杀功能

发表于:2022-2-25 09:43

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:路人7    来源:CSDN

  这里使用chrome浏览器,所以需要用到geckodriver,免费下载地址选择合适自己电脑版本下载。(http://npm.taobao.org/mirrors/chromedriver/)
  driver = webdriver.Chrome(executable_path='D:\chromedriver\chromedriver.exe')
  待会儿通过这种方式启动Chrome浏览器
  还需要使用到的三方库是selenium;我们可以通过命令pip3 install selenium来安装这个三方库。需要注意的地方是,用pip install selenium命令可能会安装失败。还有,启动cmd时必须要是管理员的身份,否则,也可能导致失败。
  在准备完这些基础环境后,在PyCharm中新建一个工程,并查看当前工程是否应用了刚刚配好的环境。最后,我们就可以写代码了。
  思路是:
  1.启动浏览器进入淘宝首页。
  2.自动点击首页的登录,需要在10秒内完成登录(最好使用扫码验证)。
  3.自动跳转到商品抢购页面。
  4.自动点击购买和下单。
  5.但是最后的输入付款密码还是得手动操作。

  from selenium import webdriver
  import datetime
  import time
   
  driver = webdriver.Chrome(executable_path='D:\chromedriver\chromedriver.exe')
   
   
  def login():
      # 打开淘宝登录页,并进行扫码登录
      driver.get("https://www.taobao.com")
      time.sleep(3)
      if driver.find_element_by_link_text("亲,请登录"):
          driver.find_element_by_link_text("亲,请登录").click()
   
      print("请在10秒内完成扫码")
      time.sleep(10)
      # 这里写你需要抢购商品的链接地址
      driver.get("https://detail.tmall.com/item.htm?id=617607737003&ut_sk=1.XMl41x6wReEDAIRpLR4%20IIoV_21380790_1589203479975.Copy.1&sourceType=item&price=0.1&suid=9AD81F3B-3DAF-4E1F-AA08-D92F62C692B6&un=94620f5f027c8264af3e4a851c15f467&share_crt_v=1&spm=a2159r.13376460.0.0&sp_tk=4oKkWFNnTjFMaDdPekvigqQ=&cpp=1&shareurl=true&short_name=h.V9t8CDT&sm=84d143&app=chrome")
      time.sleep(1)
   
   
  def buy(buytime):
      while True:
          now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
          if now > buytime:
              if driver.find_element_by_link_text("立即购买"):
                  driver.find_element_by_link_text("立即购买").click()
                  break
          time.sleep(0.0001)
      while True:
          try:
              if driver.find_element_by_link_text("提交订单"):
                  driver.find_element_by_link_text("提交订单").click()
          except:
              time.sleep(1)
          print(now)
          time.sleep(0.0001)
   
   
  if __name__ == "__main__":
      login()
      # buy("2020-05-12 10:00:00.000000")
      buy("2020-05-12 15:00:00.000000")
  以上是我提供到的Python源码。

     本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号