python+selenium实现京东秒杀脚本

您所在的位置:网站首页 京东准点秒杀技巧 python+selenium实现京东秒杀脚本

python+selenium实现京东秒杀脚本

#python+selenium实现京东秒杀脚本| 来源: 网络整理| 查看: 265

python+selenium实现京东秒杀脚本 1. 思路

京东秒杀脚本思路:首先跳转到京东登录页面扫码登陆,然后进入我的购物车(需要提前把秒杀商品加入购物车),点击全选按钮,再点击结算跳转到结算页面下单,秒杀成功之后,在待付款里可以选择要付款得订单。

2.工具

命令行执行 pip install selenium 安装需要库 或者pycham里安装,参考我的另一篇文章 下载chromedriver.exe,注意要下载和你本地浏览器对应版本,我用的版本是这个点击可以下载,也可以在第三方下载地址

3.代码

有疑问可以给我留言,注意事项:扫码登录也只有10秒,错过没登陆后面会报错,具体代码如下:

# !/usr/bin/env python # 20200515 # 京东秒杀脚本,扫码登录版 from selenium import webdriver mport time,datetime driver = webdriver.Chrome(executable_path=r"D:\andy\python\chromedriver.exe") # 时间格式:"2020-05-15 10:30:00.000000" def jdAutoBuy(ordertime): print('.........................START..........................') driver.get("https://passport.jd.com/new/login.aspx") driver.implicitly_wait(5) #10秒内扫码登录,过时会跳过 time.sleep(10) driver.get("https://cart.jd.com/cart.action") #如果没有全选,点击全选 if not driver.find_element_by_class_name('jdcheckbox').is_selected(): driver.find_element_by_class_name('jdcheckbox').click() #driver.save_screenshot('order.png') while True: now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') if now>ordertime: driver.find_element_by_class_name('submit-btn').click() #js = "document.getElementsByClassName('submit-btn')[0].click()" #driver.execute_script(js) driver.find_element_by_id('order-submit').click() driver.quit() break print('.........................END..........................') ##调用秒杀函数 jdAutoBuy('2020-05-16 09:13:00.000000')

记得关注我,后续会有持续更新。。。。。 有兴趣的可以关注另一篇文章:淘宝双十一自动下单

4.chromedriver和PhantomJS介绍

下面闲聊一下chromedriver和PhantomJS,如果使用PhantomJS,selenium控制台会提示:UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless ’ 很明确,现在后者已不建议使用,刚开始我用的是PhantomJS,老是遇到莫名其妙得问题,比如上面点击结算按钮,一直不起作用,使用js调用也不行,实在没办法,换成chromedrive代码成功运行了,哈哈哈。 另外chromedriver默认调用浏览器运行,这样得好处是可以可视化得看到程序运行页面,如果不想打开页面,可以添加参数,开头换成下面代码:

from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.chrome.options import Options import time,datetime chrome_options = Options() chrome_options.add_argument('--headless') #chrome_options.add_argument('--disable-gpu') driver = webdriver.Chrome(chrome_options=chrome_options,executable_path=r"D:\andy\python\chromedriver.exe")

这样扫码登录就需要你在登录页面截屏保存下来,在扫码登录。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3