python+selenium+chrome实现淘宝购物车秒杀自动结算

  • 一、所需环境
  • 二、安装
  • 三、代码
  • 最后run()一把就ok了!!

之前总是想要买aj,但是淘宝店铺每次发售手动抢的时候一般都会被黄牛抢走。。。最近毕业设计学习了一下python的东西,所以写了这么一个抢购的东西算是解决自己一个小小的愿望,这可是aj啊。
我会把内容写的尽量面向初学者,从头至尾的过程都会有所提及。代码也放在了后面

一、所需环境

  • Selenium

    • Selenium是一个开源的自动化测试工具。原理是通过模拟浏览器操作,还支持java,python,c#,php等主流的编程语言。
    • 一般爬虫也支持Selenium,一些经过js渲染的内容和数据和ajax异步请求出来的数据通过Selenium就能很简单直观的爬取下来。但是Selenium的缺点也是显而易见的,相比于正则的匹配Selenium要加载浏览器以及更多的东西,他的执行速度比其他模块慢很多,所以若要保证速度,能不用Selenium就不要用Selenium吧。

web测试自动化:不同于单元测试和接口测试,web测试的自动化更加贴近于人的行为,通过对用户点击行为和文本输入行为等进行模拟,当web自动化登录成功后,就去获取这个数据进行断言。断言如果相等,测试通过;如果不相等,测试失败。用户可以看到某一项操作是否真的产生了,但是程序只能通过判断某些“证据”去判断之前的行为是否真的生效。

二、安装

  • 下载Selenium并安装
  • 安装对应浏览器的驱动程序 WebDriver
    驱动程序要和自己电脑上的浏览器版本相对应,比如我使用的chrome浏览器是72版本的,就要下载ChromeDriver2.46这个版本。
    下载解压之后配置环境变量Path即可。 Mac对应的环境变量配置可以参考这位老哥的文章进行配置

三、代码

#!/usr/bin/env python
# -*- coding: utf-8 -*-from selenium import webdriver
import datetime
import timedef login():# 打开淘宝登录页,并进行扫码登录browser.get("https://www.taobao.com")time.sleep(3)if browser.find_element_by_link_text("亲,请登录"):browser.find_element_by_link_text("亲,请登录").click()print("请在15秒内完成扫码")time.sleep(15)browser.get("https://cart.taobao.com/cart.htm")time.sleep(3)now = datetime.datetime.now()print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))def buy(times, choose):is_buyed = False# 点击购物车里全选按钮if choose == 2:print("请手动勾选需要购买的商品")while True:now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')print('现在时间:', now)# 对比时间,时间到的话就点击结算if now > times:if choose == 1:while True:try:if browser.find_element_by_id("J_SelectAllcbx1"):browser.find_element_by_id("J_SelectAllcbx1").click()print('尝试全选')breakexcept:print("找不到全选按钮")# 点击结算按钮try:if browser.find_element_by_id("J_Go"):browser.find_element_by_id("J_Go").click()print("结算成功")except:passwhile True:try:if browser.find_element_by_link_text('提交订单') and is_buyed == False:browser.find_element_by_link_text('提交订单').click()now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')print("抢购成功时间:%s" % now1)except:print("再次尝试提交订单")time.sleep(0.005)if __name__ == "__main__":times = input("请输入抢购时间,格式如(2018-09-06 11:20:00.000000):")# 时间格式:"2018-09-06 11:20:00.000000"browser = webdriver.Chrome()browser.maximize_window()login()choose = input("到时间自动勾选购物车请输入“1”,否则输入“2”:")buy(times, choose)

最后run()一把就ok了!!

python+selenium+chrome实现淘宝购物车秒杀自动结算相关推荐

  1. 使用python selenium爬取淘宝商品信息 自动登录淘宝和爬取某一宝贝的主图,属性图和详情图等等

    selenium作为一个自动化测试工具非常好用,谁用谁知道啊. 先说如何登录淘宝,淘宝现在直接用会员名和密码登录会有滑块验证,找了网上说的几种方法和自己尝试了一番效果还是不太理想,实测过程中,即使滑块 ...

  2. Python + selenium 爬取淘宝商品列表及商品评论 2021-08-26

    Python + selenium 爬取淘宝商品列表及商品评论[2021-08-26] 主要内容 登录淘宝 获取商品列表 获取评论信息 存入数据库 需要提醒 主要内容 通过python3.8+ sel ...

  3. Python selenium 爬取淘宝商品

    Catalog 翻页 获取动态页面信息 提取商品信息 完整代码 翻页 from urllib import parse domain = 'https://s.taobao.com/search?' ...

  4. 吃货们看好了!python+selenium爬取淘宝美食

    前言 今天为大家介绍一个利用Python的selenium打开浏览器的方式来爬去淘宝美食,这个小案例涵盖了selenium的基本知识点,如何打开浏览器以及关键字的搜索 导入第三方库 打开浏览器 搜索功 ...

  5. python +selenium 爬取淘宝网商品信息

    前几天用python爬取豆瓣关于电影<长城>的影评,发现豆瓣的网页是静态的,心中一阵窃喜.以为对于动态网页了解的不是太多.但是主要是用cookie加headers爬取的.效果还不错,爬取了 ...

  6. python+selenium+phantomjs 模拟淘宝登陆

    一段时间前,微信群里有小伙伴在问如何模拟登陆淘宝.对于这样的需求我很乐意折腾,我也在网上看了一些大神写的,不用第三方组件,"纯模拟"实现的难度太大了,各种参数,可见淘宝安全机制且高 ...

  7. python requests模拟登录淘宝购物车下单_Python使用requests库模拟登录淘宝账号(上)...

    学好Python这款编程语言,我们能够设计出很多程序要帮助我们完成数据采集等工作,ET代理今天要跟大家介绍如何用Python模拟登录淘宝账号? 看了下网上有很多关于模拟登录淘宝,但是基本都是使用scr ...

  8. python requests模拟登录淘宝购物车下单_Python使用requests库模拟登录淘宝账号(下)...

    在文章的上部分,我们已经做好了模拟登录的前期准备,接下来就是让操作实现的部分了.一起来继续看看具体的操作步骤吧: 3.申请st码 上面我们已经申请到了淘宝(http://taobao.com)的tok ...

  9. python +Selenium 爬取淘宝商品评论

    第一步 现在淘宝防爬取做的比较好,如果直接爬的话总是出现登陆界面.从而获取不到信息. 解决办法,新建 淘宝.py import json from selenium import webdriver ...

最新文章

  1. ImageResizer for .net 图片处理强大类库
  2. 引导win7+linux系统安装,win7 + ubuntu16.04LTS双系统安装(Legacy引导模式)
  3. 长话短说,阿里云原生团队招人,急
  4. Android ble covana,I’m A Lie
  5. LeetCode 755. 倒水(模拟)
  6. gem install sass 本地配置和淘宝源无效的解决办法
  7. TurnipBit开发板DIY呼吸的吃豆人教程实例
  8. 基于递归的前序二叉树遍历实现
  9. eclipse maven plugin 插件安装和配置
  10. HighCharts:设置饼图图例文字颜色
  11. java 发送邮件怎么抄送,Java实现邮件发送(二)
  12. echarts甘特图
  13. Apollo API网关 阿波罗
  14. typescript工程_使用TypeScript构建游戏。 工程图网格2/5
  15. TDA4VM中各个CPU对应的名字
  16. 网页默认打印:fixed布局的内容会在每页打印,遮挡其他内容
  17. 瑞吉外卖第五天(套餐的增删改和手机端登录功能的实现)
  18. 音频编码和视频编码基础
  19. GraphQL以及Apollo-GraphQL的使用(一)
  20. 西安80投影坐标系转WGS84地理坐标系如何求七参数

热门文章

  1. win10系统下载中文版 64位32位 官方版​
  2. 歪解单片机的时钟系统--关于内外时钟切换及时钟超频测试
  3. html5获取我的位置并在百度地图上显示
  4. 3DMAX到底该如何布线?
  5. 表单环境外访问Xrm.Page.context对象
  6. 国仁老猫:抖音影视剪辑5种赚钱方法、18个素材网站、8.0剪辑方法防判搬运(建议收藏)
  7. HP打印机 定时打印激活打印机(针对某些打印机需要激活才能打印的情况)
  8. ubuntu 主分区扩容
  9. vue--子传父、父传子
  10. vue element 父传子,第一次传不过去