Python 12306抢火车票脚本 Python京东抢手机脚本
作者:sliderSun 发布时间:2023-02-13 14:22:21
标签:python,抢票脚本
本文实现12306抢火车票/京东抢手机示例,具体如下:
#12306秒抢Python代码
from splinter.browser import Browser
x = Browser(driver_name="chrome")
url = “https://kyfw.12306.cn/otn/leftTicket/init”
x = Browser(driver_name="chrome")
x.visit(url)
#填写登陆账户、密码
x.find_by_text(u"登录").click()
x.fill("loginUserDTO.user_name","your login name")
x.fill("userDTO.password","your password")
#填写出发点目的地
x.cookies.add({"_jc_save_fromStation":"%u4E0A%u6D77%2CSHH"})
x.cookies.add({"_jc_save_fromDate":"2016-01-20"})
x.cookies.add({u'_jc_save_toStation':'%u6C38%u5DDE%2CAOQ'})
#加载查询
x.reload()
x.find_by_text(u"查询").click()
#预定
x.find_by_text(u"预订")[1].click()
#选择乘客
x.find_by_text(u"数据分析侠")[1].click()
#-*- coding:utf-8 -*-
#京东抢手机脚本
from splinter.browser import Browser
import time
#登录页
def login(b): #登录京东
b.click_link_by_text("你好,请登录")
time.sleep(3)
b.fill("loginname","account*****") #填写账户密码
b.fill("nloginpwd","passport*****")
b.find_by_id("loginsubmit").click()
time.sleep(3)
return b
#订单页
def loop(b): #循环点击
try:
if b.title=="订单结算页 -京东商城":
b.find_by_text("保存收货人信息").click()
b.find_by_text("保存支付及配送方式").click()
b.find_by_id("order-submit").click()
return b
else: #多次抢购操作后,有可能会被转到京东首页,所以要再打开手机主页
b.visit("http://item.jd.com/2707976.html")
b.find_by_id("choose-btn-qiang").click()
time.sleep(10)
loop(b) #递归操作
except Exception as e: #异常情况处理,以免中断程序
b.reload() #重新刷新当前页面,此页面为订单提交页
time.sleep(2)
loop(b) #重新调用自己
b=Browser(driver_name="chrome") #打开浏览器
b.visit("http://item.jd.com/2707976.html")
login(b)
b.find_by_id("choose-btn-qiang").click() #找到抢购按钮,点击
time.sleep(10) #等待10sec
while True:
loop(b)
if b.is_element_present_by_id("tryBtn"): #订单提交后显示“再次抢购”的话
b.find_by_id("tryBtn").click() #点击再次抢购,进入读秒5,跳转订单页
time.sleep(6.5)
elif b.title=="订单结算页 -京东商城": #如果还在订单结算页
b.find_by_id("order-submit").click()
else:
print('恭喜你,抢购成功')
break
来源:http://blog.csdn.net/weixin_37947156/article/details/72930342


猜你喜欢
- 问题背景用户反馈说当与外部客户端进行 FTP 传输时,可以成功登录,但无法传输任何数据。总之 FTP 传输失败,需要来弄清楚到底发生了什么。
- 声明定位元素:position属性值设置除默认值static以外的元素,包括relative,absolute,fixed。平台:win/I
- 跨域资源共享CORS(Cross-origin Resource Sharing),是W3C的一个标准,允许浏览器向跨源的服务器发起XMLH
- 优先队列的二叉堆实现在前面的章节里我们学习了“先进先出”(FIFO)的数据结构:队列(Queue)。队列有一种变体叫做“优先队列”(Prio
- pyinstaller打包引入自己编写的库场景使用pyinstaller打包某个文件后,生成的exe文件无法运行,提示 Module not
- 之前服务器上配置测试用的服务环境,我偷懒顺手用网上现成的脚本进行安装,结果MySQL启动不了,于是我只有老老实实的重新安装MySQL Ser
- Date对象即日期时间对象,它的主要功能是实现对日期时间的处理1、创建Date对象var myDate = new Date();或var
- 前言什么算是高层的文件操作呢?普通的文件操作,我们一般只涉及创建文件,文件夹以及写入文件等等。假如我现在需要复制一个文件的内容到另一个文件之
- 错误信息UnicodeDecodeError: ‘utf-8' codec can't decode byte 0xce i
- 网站搬家的时候碰到的这个问题,因为数据一直是使用PhpMyAdmin工具来进行备份和恢复的,但是随着网站的数据越来越多,所以数据库也是越来越
- 1. 使用函数 np.random.random由于 np.random.random() 默认生成 0~1 之间的小数,因此需要转换一下如
- 淘宝的页面很复杂,如果使用分析ajax或者js的方式,很麻烦抓取淘宝‘美食'上面的所有食品信息spider.py#encoding:
- 本文定期更换windows壁纸的python程序,很简单,属于自己写着玩的那种,不提供完美的壁纸切换解决方案。安装pywin32 exten
- 这篇文章主要介绍了python解析命令行参数的三种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要
- <body oncontextmenu = "return false"> <body onconte
- 一、前言这几天宅在家里网上冲浪,无意间看到了一个比较有趣的项目,就是使用 Python 语言实现对视频中的人物的眨眼进行计数并描绘在图表中。
- 我们都知道打开文件有两种方法:f = open()with open() as f:这两种方法的区别就是第一种方法需要我们自己关闭文件;f.
- 在for循环中是否需要缓存length值,相信很多程序猿们都纠结过此问题,下面就这一问题的分析请看下文:在JS性能优化中,有一个常见的小优化
- PHP程序员玩转Linux系列文章:1.PHP程序员玩转Linux系列-怎么安装使用CentOS2.PHP程序员玩转Linux系列-lnmp
- 博主在这个问题上卡了挺久的,贴出来解决方法帮助需要的朋友,直接上代码(测试环境:win10+Python2.7):# coding=utf-