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


你可能感兴趣的:(编程)