这里使用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 timedriver = 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源码。
【软件测试|Python基于selenium三方库实现淘宝秒杀功能】
推荐阅读
- 程序员|Postman怎么进行token传参()
- 软件测试|软件测试3个月学习,终于找到工作了,面试总结分享给大家
- 程序员|[Python-Pygame]无中生有开发自己的2D动作游戏生成敌人
- 技术分享|2022年,一款比Postman还要好用的接口工具
- 软件测试|Postman 是个好用的工具,不试一下()
- COMP3811
- CMP5327 游戏编程
- python|零基础学 Python 有什么建议()
- python|python(55)-编码-解码-unicode到底是什么(+repr+)