【紧急情况】:回宿舍放下书包的我,花了20分钟敲了一个抢购脚本
创始人
2024-04-06 05:11:04
0

文章目录

  • 情况紧急 ⁉️
  • 抢❗️抢❗️抢❗️
    • 开抢时间说明💨
    • 开抢过程💥
      • Get_cookie.py
      • 开抢
  • 结束语😱

情况紧急 ⁉️


不管你信不信,这就是俺刚瞧出的代码!!!
现在离20:00还有38分钟!!!
我现在在飞速的敲着文字,本来想着今晚简简单单买个东西就好,结果一看某宝,发现我想买的衣服有0元抢购的活动!!!

在这里插入图片描述
于是,刚吃完饭领完快递的我一到宿舍就开始劈里啪啦的敲起了代码,敲完代码后又进行一遍编的测试,终于将代码调试成功了。
具体实现如何,请往下看👇

抢❗️抢❗️抢❗️

本次代码实现的功能是抢某宝的商品,需要先将商品加入购物车,然后根据用户输入的开抢时间进行任务等待,时间一到,立即开抢!!!
注意:先设置好默认收货地址,然后将商品加入购物车!!!

开抢时间说明💨

在这里插入图片描述

开抢过程💥

Get_cookie.py

Get_cookie.py – 老朋友又来了,《小玩意儿》专栏中已经说烂咯,那在这就简单说明一下吧:
20秒内登录某宝,获取登录后的Cookie,保存为taobao_cookies.txt,这是实现自动登录前的必须一个步骤。

直接拿走💪

from selenium import webdriver
from time import sleep
import jsonif __name__ == '__main__':driver = webdriver.Chrome()driver.maximize_window()driver.get('https://login.taobao.com/member/login.jhtml?')sleep(20)dictCookies = driver.get_cookies() # 获取list的cookiesjsonCookies = json.dumps(dictCookies) # 转换成字符串保存with open('taobao_cookies.txt', 'w') as f:f.write(jsonCookies)print('cookies保存成功!')

开抢

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import datetime
import time
import jsonclass Taobao(object):def __init__(self):# 登入以下网址即可直接跳转到购物车self.url = 'https://cart.taobao.com/cart.htm?'self.driver = webdriver.Chrome()self.driver.get(self.url)self.driver.maximize_window()# 自动登录def login(self):# 获取保存下的cookie值with open('taobao_cookies.txt', 'r', encoding='utf8') as f:listCookies = json.loads(f.read())# 往browser里添加cookiesfor cookie in listCookies:cookie_dict = {'domain': '.taobao.com','name': cookie.get('name'),'value': cookie.get('value'),"expires": '','path': '/','httpOnly': False,'HostOnly': False,'Secure': False}self.driver.add_cookie(cookie_dict)self.driver.refresh()# 等待快速登录按钮出现并点击WebDriverWait(self.driver, 1000).until(EC.presence_of_element_located((By.XPATH, '//div[@class="fm-btn"]/button')))self.driver.find_element(By.XPATH, '//div[@class="fm-btn"]/button').click()def shopping_cart(self):# 设定时间等待,等到时间到了立即开抢startTime = datetime.datetime(2022, 11, 10, 20, 0, 1)print('正在等待开抢...')while datetime.datetime.now() < startTime:time.sleep(1)# 点击全选WebDriverWait(self.driver, 1000).until(EC.presence_of_element_located((By.XPATH, '//div[@id="J_SelectAll1"]')))self.driver.find_element(By.XPATH, '//div[@id="J_SelectAll1"]').click()# 等待结算按钮出现后点击WebDriverWait(self.driver, 1000).until(EC.element_to_be_clickable((By.XPATH, '//a[@id="J_Go"]')))self.driver.find_element(By.XPATH, '//a[@id="J_Go"]').click()time.sleep(0.5)try:self.driver.find_element(By.XPATH, '//a[@id="J_Go"]').click()except:passWebDriverWait(self.driver, 1000).until(EC.element_to_be_clickable((By.LINK_TEXT, '提交订单')))# 等待“提交订单”元素加载完毕后点击self.driver.find_element(By.LINK_TEXT, '提交订单').click()def run(self):self.login()self.shopping_cart()taobao = Taobao()
taobao.run()

结束语😱

如果喜欢,点赞👍 收藏🌈 关注哦💖
话不多说,开抢啦啦啦!!!
在这里插入图片描述

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...