code
import time from splinter.browser import Browser #url = "https://item.jd.com/100013976326.html" def login(b): #登录京东 b.click_link_by_text("你好,请登录") time.sleep(3) b.click_link_by_text("账户登录") b.fill("loginname","xxx") #填写账户密码 b.fill("nloginpwd","xxx") b.find_by_id("loginsubmit").click() time.sleep(3) return b def loop(b): try: # b.click_link_by_text("加入购物车") b.click_link_by_text(btn) # b.click_link_by_text("立即抢购") if b.title== "商品已成功加入购物车": print("加入购物车成功") else: #多次抢购操作后,有可能会被转到京东首页,所以要再打开手机主页 print("抢购出错") # b.visit("https://item.jd.com/6086957.html") b.visit(url)#"https://item.jd.com/6063140.html") time.sleep(3) # b.click_link_by_text("立即抢购") # b.click_link_by_text("加入购物车") b.click_link_by_text(btn) except: print("没找到抢购按钮") b.reload() time.sleep(2) loop(b) b=Browser(driver_name= "chrome") in_url = input("输入网址:\n") #https://item.jd.com/14441923664.html btn_name = input("输入按钮名称(中英文都可):\n") global url url = in_url b.visit(url)#"https://item.jd.com/6063140.html") global btn btn = btn_name #time.sleep(15) #login(b) time.sleep(20) loop(b)
- 尝试过,"立即抢购“、”加入购物车“没问题;部分手机、票仍然需要付款,那么可能需要预先login方式设置自己的支付宝或微信或银行卡的账号-密码。以及立即付款的按钮
- 为了账户安全和退款的麻烦,建议优先特定的银行卡,并且只存入你所购对应商品2倍的钱(最多只能抢购成功两个)不要购太多。容易有法律和账号被查封的风险
可能问题
- 基于chrome浏览器,需要chromeDrive插件,下载匹配自己浏览器版本的插件后,直接放入chrome根目录和python所用的环境的目录:(下面是86版本,最高当前支持87,还不太稳定,其它版本可以点击parentDirectory到服务器上级目录去查找)。
https://chromedriver.storage.googleapis.com/index.html?path=86.0.4240.22/
下载 解压缩,放到 C:\Program Files (x86)\Google\Chrome\Application
Chrome浏览器的主目录下;
- 推荐chrome浏览器,注意drive版本和chrome默认版本要一致,(一般是86版本,少数87, chrome右上角》帮助》关于chrome里面可查。
PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取