想买mate40,但总是抢不到,所以想试着能不能写个脚本代码。

第一步:把想要抢购的商品加进购物车,注意:脚本是对购物车内全部商品进行下单操作,所以不够买的商品最好先从购物车内删除。

第二步:写好Python脚本,在抢购之前运行,并设置好抢购时间。

Python脚本实现

  • 安装Python。我安装的是anaconda
  • 安装webdriver扩展。它是Selenium模块的一部分。Selenium是一个用于Web应用程序测试的工具,用于测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。所以其实就是安装Selenium:Win+R,输入cmd,在命令行中输入pip show selenium
  • 安装chrome浏览器(因为我用的是谷歌)
  • 安装chromedriver。它是chrome的插件,是为了webDriver能通过操作chromedriver来控制chrome浏览器自动操作,如打开网页,点击按钮等操作。

下载地址:

http://chromedriver.storage.googleapis.com/index.html或者https://npm.taobao.org/mirrors/chromedriver/

注意:下载时要根据电脑系统和chrome浏览器版本来选择对应的chromedriver版本。可以通过浏览器右上角的三点→帮助→关于Google Chrome来查看自己的chrome版本。

在这里插入图片描述

下载chromedriver安装包后,进行解压,放在chrome安装的同级目录下,同时在环境变量PATH中添加路径。

在这里插入图片描述

然后用以下代码检验是否安装成功:

在这里插入图片描述

然鹅,此时我遇到了错误,如下

在这里插入图片描述

于是,我把chromedriver.exe放到了我python脚本的文件夹后,就完美解决问题了!

在这里插入图片描述

【补充】
我知道自己为什么出现上面那个错误了,因为路径没输入!
在下图所示红框处输入自己的下载的chromedriver安装路径即可成功运行。

在这里插入图片描述

完整的Python脚本代码如下:

```python
# coding=utf-8
import os
from selenium import webdriver
import datetime
import time
from os import path

#此处chromedriver改为自己下载解压的chromedriver的路径
driver = webdriver.Chrome("E:/JupyterNotebookSavePath/chromedriver")
#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("请在15秒内完成扫码")
        time.sleep(15)
        #打开购物车列表首页
        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"))

def buy(times):
    while True:
        #记录当前时间,使用datatime内置模块
        now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
        print(times)
        print(now)
        # 对比时间,时间到的话就点击结算
        if now == times:
            try:
                if driver.find_element_by_id("J_Go"):
                    driver.find_element_by_id("J_Go").click()
                    driver.find_element_by_link_text('提交订单').click()
                    print('抢购成功,请尽快付款')
            except:
                 print('请再次尝试提交订单')
        print(now)
        time.sleep(0.1)

if __name__ == "__main__":
    times = input("请输入抢购时间(例如格式:2021-02-01 00:00:00):")
    login()
    buy(times)

关于Python技术储备

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐