Python实现京东秒杀功能代码

yipeiwu_com6年前Python基础

本文实例为大家分享了Python实现京东秒杀功能的具体代码,供大家参考,具体内容如下

#Python 3.5

#coding:utf-8
#import scrapy
from selenium import webdriver
import time
import datetime
driver = webdriver.Firefox()
driver.get('https:www.jd.com/')
class JDLOGIN(object):
  def login_jd(self,num,pwd):
    driver.find_element_by_link_text('你好,请登录').click()
    time.sleep(10)
    driver.find_element_by_link_text('账户登录').click()
    time.sleep(3)
    driver.find_element_by_id('loginname').send_keys(num)
    driver.find_element_by_id('nloginpwd').send_keys(pwd)
    time.sleep(3)
    driver.find_element_by_id('loginsubmit').click()
    time.sleep(5)
    nowwhandle = driver.current_window_handle
    driver.find_element_by_link_text('我的购物车').click()
    allhandles = driver.window_handles
    for handle in allhandles:
      if handle != nowwhandle:
        driver.switch_to_window(handle)#切换至窗口 购物车页面
    time.sleep(5)
    driver.find_element_by_link_text('去结算').click()
    time.sleep(4)
  def buy_on_time(self,buytime):
    while True:
      now = datetime.datetime.now()
      if now.strftime('%Y-%m-%d %H:%M:%S') == buytime:
        driver.find_element_by_id('order-submit').click()
        time.sleep(3)
        print(now.strftime('%Y-%m-%d %H:%M:%S'))
        print('successful!!!')
      time.sleep(0.5)
      # 返回原先到的窗口
      #driver.switch_to_window(nowwhandle)
  def start(self,num,pwd,buytime):
    self.login_jd(num,pwd)
    self.buy_on_time(buytime)
jdlogin=JDLOGIN()
jdlogin.start('手机号','密码','秒杀时间' )

需要先将秒杀物品添加至购物车(必须为秒杀物品,秒杀无品加入购物车后结算时不需要勾选【全选框】),并提前设置默认收货地址

该代码为闲时所写,没有进一步优化,面向对象的函数也不够精简,不过功能已经实现

需要在cmd命令行安装selenium包:pip install selenium

其余包同理,需要啥下载即可

以上所述是小编给大家介绍的Python实现京东秒杀功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

一看就懂得Python的math模块

math模块 # 数学相关模块 import math r = math.floor(3.2) # 向下取整 print(r) r = math.ceil(4.5) # 向上取整...

Python数据类型之Set集合实例详解

本文实例讲述了Python数据类型之Set集合。分享给大家供大家参考,具体如下: set集合 1.概述 set与dict类似,但set是一组key的集合,与dict的区别在于set不存储...

python ddt数据驱动最简实例代码

在接口自动化测试中,往往一个接口的用例需要考虑 正确的、错误的、异常的、边界值等诸多情况,然后你需要写很多个同样代码,参数不同的用例。如果测试接口很多,不但需要写大量的代码,测试数据和代...

对python多线程与global变量详解

今天早上起来写爬虫,基本框架已经搭好,添加多线程爬取功能时,发现出错: 比如在下载文件的url列表中加入200个url,开启50个线程。我的爬虫…竟然将50个url爬取并全部命名为0.h...

使用Pyrex来扩展和加速Python程序的教程

 Pyrex 是一种专门设计用来编写 Python 扩展模块的语言。根据 Pyrex Web 站点的介绍,“它被设计用来在友好易用的高级 Python 世界和凌乱的低级 C 世...