ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

女朋友跟你说晚安之后仍然在线,我用Python制作脚本成功征服

2021-08-26 16:00:19  阅读:240  来源: 互联网

标签:晚安 登录 Python selenium driver element 我用 now find


​大家好,我是辣条。

 

 

辣条的一个朋友最近跟我诉苦:女朋友沉迷淘宝抢购无法自拔,大晚上不睡觉都在定时抢购,真是败家。

都是好朋友辣条肯定帮忙,不就是定时抢购,定时清空购物车嘛,这叫安排。

爬取目标

网站:淘宝

image.png

工具使用

开发工具:pycharm 开发环境:python3.7, Windows10 使用工具包:selenuim

需求分析

我们的目标是秒杀淘宝的订单,这里面有几个关键点,首先需要登录淘宝,其次你需要准备好订单,最后要在指定时间快速提交订单。

项目思路解析

selenium安装配置

selenium是Python自动化测试的工具库,需要配置一些环境驱动 selenium安装

pip install selenium

Selenium安装好之后,并不能直接使用,它需要与浏览器进行对接。这里拿Chrome浏览器为例。若想使用Selenium成功调用Chrome浏览器完成相应的操作,需要通过ChromeDriver来驱动。 链接:

https://chromedriver.storage.googleapis.com/index.html 根据自身的chorme版本选择安装的驱动版本

image.png

image.png

下载完成之后,解压,将其放置在Python安装路径下python文件夹中即可

image.png

项目解析

尝试通过selenium打开淘宝首页,检验是否安装成功

from selenium import webdriver
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("https://www.taobao.com")
通过xpath定位选取到登录标签,抢购脚本需要先知道你购买的东西是什么 

image.png

登录的方式课自行选择(可账户密码登录,也可扫码登录,辣条在这里用的扫码登录)

登录成功后点击购物车,选取你需要的商品数据(可全选,可自己手动勾选)

image.png

在点击结算按钮

image.png

设定一个结算时间,你需要下单的时间

image.png

等待时间的到来 点击提交订单按钮

image.png

简易源码分享

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Author  : BaiChuan
# @File    : 淘宝抢购.py
​
​
from selenium import webdriver
import datetime
import time
​
​
driver = webdriver.Chrome()
driver.maximize_window()
​
​
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("请在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()
    now = datetime.datetime.now()
    print('login success:', now.strftime('%Y-%m-%d %H:%M:%S:%f'))
​
​
def buy(buytime):
    while True:
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
        print("当前时间" + now)
        # 对比时间,时间到的话就点击结算
        if now > buytime:
            try:
                # 点击结算按钮
                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(0.1)
        print(now)
        time.sleep(0.1)
​
if __name__ == "__main__":
    # times = input("请输入抢购时间:")
    # 时间格式:"2018-09-06 11:20:00.000000"
    login()
    buy("2021-08-24 14:30:00.000000")

脚本是弄完了不过事情好像没完......

标签:晚安,登录,Python,selenium,driver,element,我用,now,find
来源: https://www.cnblogs.com/ai19970205/p/15190094.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有