【緊急情況】:回宿舍放下書包的我,花了20分鐘敲了一個搶購指令碼
Get_cookie.py
Get_cookie.py – 老朋友又來了,《小玩意兒》專欄中已經說爛咯,那在這就簡單說明一下吧:
在 20 秒內登入某寶,獲取登入後的 Cookie ,儲存為 taobao_cookies.txt ,這是實現自動登入前的必須一個步驟。
直接拿走���
from selenium import webdriver
from time import sleep
import json
if __name__ == '__main__':
driver = webdriver.Chrome()
driver.maximize_window()
driver.get(')
sleep(20)
dictCookies = driver.get_cookies() # 獲取 list 的 cookies
jsonCookies = 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 json
class Taobao(object):
def __init__(self):
# 登入以下網址即可直接跳轉到購物車
self.url = '
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 =跟單網gendan5.com json.loads(f.read())
# 往 browser 裡新增 cookies
for 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:
pass
WebDriverWait(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()
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2923503/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 讓我們來用php編寫一個搶購商品指令碼PHP指令碼
- Python版中秋佳節月餅搶購指令碼Python指令碼
- 面試官讓我5分鐘內寫一個搶紅包程式,我和他說了半小時原理!面試
- 我花了一週讀了Kafka Producer的原始碼Kafka原始碼
- 敲了這麼多年程式碼,這樣的登入方式還真是頭一回見
- 一個簡單的Linux啟動jar包的shell指令碼LinuxJAR指令碼
- [BUG]Appium1.9.1 這個問題竟然花了我5分鐘進行定位APP
- 我轉行前端花了11個月前端
- 【Python秒殺指令碼】淘寶或京東等秒殺搶購Python指令碼
- 利用 JS 指令碼實現網頁全自動秒殺搶購JS指令碼網頁
- 我花了一個星期,做出了公司的管理系統,只需幾個步驟!
- 這個Python指令碼牛逼了,秒搶紅包就算了,還能無視撤回訊息Python指令碼
- 花了一個星期,我終於把RPC框架整明白了!RPC框架
- 如何設計一個搶紅包系統
- 夢碎IPO的百果園,給水果零售業敲了個警鐘!
- 花了20分鐘,給女朋友們寫了一個web版群聊程式Web
- 我想做一個指令碼更新一些excel表/細胞。指令碼Excel
- 關於年會搶紅包遊戲的一個思考遊戲
- 我在支付寶花了1分鐘,查到了女朋友的開房記錄!
- 一個分詞指令碼分詞指令碼
- 一分鐘釋出一個屬於自己的npm包NPM
- 剖析一下"搶茅臺"指令碼底層邏輯指令碼
- 檢查備份情況的指令碼指令碼
- 《明日方舟》:花了一百五後,我找不到下一個付費點了
- 敲了幾萬行原始碼後,我給Mybatis畫了張“全地圖”原始碼MyBatis地圖
- python實現自動搶課指令碼Python指令碼
- 一個方便 LeetCode 複習的指令碼LeetCode指令碼
- 我是一個Dubbo資料包...
- 一個SAP顧問的回憶:我過去很胖!
- 為開源作者賦能,為此我花了一個月時間做了個工具平臺
- 共享一個iptables的shell指令碼檔案指令碼
- 向大家分享一個shell指令碼的坑指令碼
- 一個快速檢視trace的小指令碼指令碼
- 我寫了一個指令碼,可在“任意”伺服器上執行命令!指令碼伺服器
- 明天面試?嚇得我趕緊手寫了一個Spring面試Spring
- 【老師見打系列】:我只是寫了一個自動回覆討論的指令碼~指令碼
- 查詢表空間使用情況的指令碼指令碼
- 一個centos初始化指令碼CentOS指令碼