51Testing软件测试论坛

标题: Python基于selenium三方库实现淘宝秒杀功能 [打印本页]

作者: lsekfe    时间: 2022-3-7 11:12
标题: Python基于selenium三方库实现淘宝秒杀功能
这里使用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软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2