Python实现自动上京东抢手机

yipeiwu_com6年前Python基础

本文实例为大家分享了Python自动上京东抢手机的具体代码,供大家参考,具体内容如下

上次抢荣耀V9,被京东给恶心到了,所以就写了个简单的Python来自动抢V9。虽然用的是比较蠢的方法,但觉得还是有可以学习的地方。所以在这里把代码贴出来给大家看看。

# -*- coding: UTF-8 -*- 
from splinter.browser import Browser 
import time 
def login(b): 
 b.click_link_by_text("账户登录") 
 time.sleep(1) 
 b.fill("loginname","XXX") #京东用户名 
 time.sleep(1) 
 b.fill("nloginpwd","XXX") #登陆密码 
 time.sleep(1) 
 b.find_by_id("loginsubmit").click() 
 print b 
 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("https://item.jd.com/4461470.html") #荣耀V9的URL 
  b.find_by_id("choose-btn-qiang").click() 
  time.sleep(1) 
  loop(b) #递归操作 
 except Exception: #异常情况处理,以免中断程序 
 b.reload() #重新刷新当前页面,此页面为订单提交页 
 time.sleep(1) 
 loop(b) #重新调用自己 
b = Browser() 
b.visit("https://item.jd.com/4461470.html") 
time.sleep(10) 
b.click_link_by_text("你好,请登录") 
time.sleep(5) 
b = login(b) #登录 
time.sleep(1) 
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 

更多关于python安装教程的文章请参考《python各版本安装教程》

更多精彩书单,请点击python编程必备书单

领取干货:零基础入门学习python视频教程

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python调用自定义函数的实例操作

python调用自定义函数的实例操作

在python中,想要调用自定义函数必须先声明,然后才能调用。使用函数时,只要按照函数定义的形式,向函数传递必需的参数,就可以调用函数完成相应的功能或者获得函数返回的处理结果。 (1)声...

python中列表的切片与修改知识点总结

python中列表的切片与修改知识点总结

python中可以使用下标索引来访问列表中的值,对列表进行切片即截取,也可以对列表的数据项进行修改或更新。 使用下标索引来访问列表中的值,例如list1[1]。 使用索引截取列表中的值...

django重新生成数据库中的某张表方法

今天有碰到这种情况,数据库中有张表没办法通过migration来更改, migrate时报 django.db.utils.OperationalError: (1050, “Table...

Python入门篇之文件

Python入门篇之文件

文件处理的函数和方法 使用Open()函数可打开文件,语法格式如下: 复制代码 代码如下: file_handler = open(filename,[,mode[,bufsize]]...

tensor和numpy的互相转换的实现示例

要对tensor进行操作,需要先启动一个Session,否则,我们无法对一个tensor比如一个tensor常量重新赋值或是做一些判断操作,所以如果将它转化为numpy数组就好处理了。下...