本文实例为大家分享了python实现京东秒杀功能的具体代码,供大家参考,具体内容如下
#python 3.5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
#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实现京东秒杀功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!
原文链接:https://blog.csdn.net/SunChao3555/article/details/79143858