日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運營的一線實戰(zhàn)洞察。

基于Selenium的12306自動搶票腳本:原理、實現(xiàn)與避坑指南

基于Selenium的12306自動搶票腳本:原理、實現(xiàn)與避坑指南 簡介基于Selenium的12306自動搶票腳本全套資料面向計算機相關(guān)專業(yè)學(xué)生、教師及企業(yè)開發(fā)者可解決購票腳本設(shè)計、自動化測試與實戰(zhàn)演練等需求。壓縮包共18個文件涵蓋7個Python源碼、5個XML工程配置、3個文本說明及YAML環(huán)境配置等其中py文件實現(xiàn)核心搶票邏輯、車站信息獲取、參數(shù)配置與郵件提醒等模塊yaml與xml用于配置和工程管理md與txt提供詳細(xì)使用文檔。資源已通過運行測試并獲導(dǎo)師認(rèn)可、答辯評審95分適合用于畢業(yè)設(shè)計、課程設(shè)計、項目初期演示或Selenium進(jìn)階學(xué)習(xí)。目前已有129人學(xué)習(xí)下載配套詳細(xì)文檔能幫助讀者快速理解自動化購票流程包括余票查詢、提交訂單等關(guān)鍵環(huán)節(jié)目錄結(jié)構(gòu)清晰便于按模塊閱讀和二次開發(fā)。1. 基于Selenium的12306自動搶票腳本它不是外掛是替你盯著余票的瀏覽器每年春運一到朋友圈里就會冒出一堆“代搶票”的鏈接還總有人問“為什么別人手速那么快明明顯示有票一點進(jìn)去就沒了”其實問題不在于手速而在于你盯著頁面、刷新、對比車次、再點預(yù)定、再選乘客的速度?;赟elenium的12306自動搶票腳本做的事情就是把這套“人肉操作”變成瀏覽器自動執(zhí)行定時刷新余票、按你預(yù)設(shè)的車次和坐席過濾、出現(xiàn)目標(biāo)車票就點預(yù)定、填好乘客、提交訂單。它不是破解12306的接口也沒有繞過任何風(fēng)控邏輯只是在用程序控制一個真實瀏覽器模擬一個始終在線且不提手酸的“真人”。所以它最大的價值不是“搶”而是讓腳本幫你把“盯”這件事做到一天不眨眼。適合通勤票、假期票、幫家里老人搶票也適合想拿自動化框架練手的開發(fā)者前提是你愿意把登錄、驗證碼這些環(huán)節(jié)留出人工兜底。2. 為什么選Selenium做搶票選型理由與最少可運行環(huán)境在動手之前先把選型這事說透。很多人看到“自動搶票腳本”第一反應(yīng)是抓12306的后臺接口直接POST提交訂單。這條路對開發(fā)者的誘惑很大但12306的核心下單接口做過簽名校驗關(guān)鍵參數(shù)由前端加密生成抓包抓到的明文請求根本沒法直接復(fù)用。更現(xiàn)實的問題是接口方案一旦失效你面對的不是改個參數(shù)的事而是要把整套簽名算法逆向出來維護(hù)成本極高。Selenium走的是另一條路它不碰接口而是驅(qū)動瀏覽器按真實用戶的路徑操作頁面。12306的風(fēng)控再嚴(yán)也不可能把正常打開網(wǎng)頁的人全攔住對吧這就是Selenium做自動化搶票的核心優(yōu)勢——黑匣子最小化。2.1 Selenium憑什么能搶票瀏覽器自動化與真人操作的邊界Selenium是一個WebDriver自動化測試框架常見用法是讓測試腳本去驅(qū)動Chrome、Firefox這類瀏覽器模擬點擊、輸入、滾動、等待這些行為。它最早是給測試人員做回歸測試用的后來被廣泛用于自動化運營、數(shù)據(jù)采集自然也就有人拿它來做搶票腳本。它的工作模式是“客戶端庫 瀏覽器驅(qū)動”你在Python里調(diào)用selenium包它通過ChromeDriver這類驅(qū)動件把指令翻譯成瀏覽器能理解的動作再由瀏覽器真實地渲染頁面、執(zhí)行JavaScript。這種模式的邊界在哪兒第一Selenium不是萬能的它要求目標(biāo)頁面在DOM層面穩(wěn)定如果12306改版把按鈕的class和id全換掉腳本就要跟著改選擇器。第二它天然會留下自動化特征比如webdriver屬性、奇怪的瀏覽器指紋風(fēng)控系統(tǒng)可以識別它成年人要有點自覺任何針對Web的自動化工具都存在被平臺識別和管控的可能這不是腳本本身能完全藏住的。第三它處理不了“頁面沒變但數(shù)據(jù)已變”的情況余票查詢這種場景還是得靠輪詢。所以真實項目里Selenium做的是“最后一百米”——把人到按鈕的距離縮短為程序到按鈕的距離而不是發(fā)明一把萬能鑰匙。2.2 搭環(huán)境Python虛擬環(huán)境Selenium瀏覽器驅(qū)動的最小步驟環(huán)境搭建不復(fù)雜但順序別搞錯。先建一個干凈的Python虛擬環(huán)境然后在里面安裝selenium包最后下載與瀏覽器版本匹配的驅(qū)動。很多人一上來直接全局裝selenium結(jié)果驅(qū)動版本和瀏覽器對不上報一堆SessionNotCreatedException這種翻車完全可以避免。按下面這套來操作# 1. 創(chuàng)建并激活虛擬環(huán)境Python 3.9 均可 python -m venv venv_12306 source venv_12306/bin/activate # Windows 下執(zhí)行 venv_12306\Scripts\activate # 2. 安裝 selenium pip install selenium # 3. 檢查瀏覽器版本 google-chrome --version # Windows 下在 Chrome 地址欄輸入 chrome://version參數(shù)說明虛擬環(huán)境解決的是包沖突問題你機器上可能已經(jīng)裝了舊版selenium或者requests搶票腳本對依賴版本比較敏感隔離是必須的。安裝selenium不需要指定版本但建議裝到4.x以上4.x的API比3.x干凈很多不再需要手動聲明executable_path。檢查瀏覽器版本這一步別省驅(qū)動要和瀏覽器大版本一致比如Chrome 120就配ChromeDriver 120.x小版本可以略有偏差大版本不能錯。接下來是驅(qū)動下載。Selenium 4.x提供了Selenium Manager會自動去官方源拉驅(qū)動但國內(nèi)網(wǎng)絡(luò)條件下經(jīng)常超時建議還是手動下載。下載后把驅(qū)動文件放到一個固定目錄比如tools/chromedriver然后在代碼里指定路徑。2.3 最小啟動腳本先跑通一個能打開12306的瀏覽器環(huán)境裝好后不要急著寫業(yè)務(wù)邏輯先跑一個最小啟動腳本驗證整個鏈路是通的。這一步能過濾掉九成環(huán)境問題。代碼只做一件事打開一個帶用戶數(shù)據(jù)目錄的Chrome窗口訪問12306的首頁然后停在那里等你按回車。為什么要帶用戶數(shù)據(jù)目錄因為搶票場景需要保持登錄狀態(tài)你手動登錄一次后Cookie存在這個目錄里下次腳本啟動還能繼續(xù)用不然每次都要重新掃碼登錄。from selenium import webdriver options webdriver.ChromeOptions() # 使用自定義用戶數(shù)據(jù)目錄保存登錄態(tài) options.add_argument(--user-data-dir/path/to/chrome_user_data) # 關(guān)閉正在受到自動軟件控制提示條 options.add_experimental_option(excludeSwitches, [enable-automation]) # 可選去掉 webdriver 特征警惕這屬于反檢測實踐需自行評估風(fēng)險 options.add_argument(--disable-blink-featuresAutomationControlled) driver webdriver.Chrome(optionsoptions) driver.get(https://www.12306.cn/index/) print(瀏覽器已打開請手動確認(rèn)是否進(jìn)入官網(wǎng)) input(按回車鍵退出...) driver.quit()邏輯說明代碼先給Chrome配置一組選項再用這些選項生成driver實例打開12306首頁最后用input()把進(jìn)程掛住好讓你肉眼看一眼瀏覽器是不是真的正常加載了頁面。--user-data-dir這個參數(shù)是整套腳本的地基登錄態(tài)能不能跨腳本保持就看它配沒配對。excludeSwitches和--disable-blink-features是控制自動化提示的常用做法但你要清楚這類參數(shù)只是降低存在感不能保證絕對不被平臺識別——后面避坑章節(jié)我會再細(xì)說。參數(shù)說明/path/to/chrome_user_data要替換成你的絕對路徑注意Windows路徑里的反斜杠要寫成雙反斜杠或使用r...原始字符串。--user-data-dir指向的是一個空目錄也沒關(guān)系Chrome會自動初始化。這里有個常見坑如果你之前已經(jīng)開著一個Chrome進(jìn)程再用同一個用戶目錄啟動腳本會直接報“user data directory is already in use”腳本啟動前先關(guān)掉其他Chrome窗口。跑通這一步你的Selenium環(huán)境就算立住了。下一個問題是有了環(huán)境腳本到底怎么寫3. 搶票腳本的三個核心模塊登錄態(tài)、余票查詢與提交訂單這一章是整套腳本的主體我的做法是把流程拆成三個模塊登錄態(tài)管理、余票查詢、提交訂單。每個模塊單獨寫、單獨測最后串起來。千萬別一上來就寫一個1000行的大腳本出錯的時候你連在哪一行掛的都不知道。模塊化還有一個好處查詢模塊和提交模塊可以分開調(diào)優(yōu)比如查詢頻率降下來不影響提交速度提交環(huán)節(jié)卡了驗證碼也不影響下次輪詢。3.1 登錄態(tài)管理Cookie與等待策略12306的登錄方式有兩種賬號密碼登錄和掃碼登錄。手機App掃碼是現(xiàn)在的主流你讓腳本去自動識別二維碼是不可能的但根本不需要識別。掃碼登錄的一個特點是登錄成功后Cookie會種在瀏覽器里而且有效期覆蓋整個會話。所以我用的策略是“半自動登錄”腳本打開登錄頁你掏出手機掃碼掃完以后腳本自動檢測跳轉(zhuǎn)然后把Cookie序列化存到本地文件。下次啟動直接從文件加載Cookie免登錄。代碼如下import time import json from selenium import webdriver from selenium.webdriver.common.by import By USER_DATA_DIR /path/to/chrome_user_data COOKIE_FILE 12306_cookies.json options webdriver.ChromeOptions() options.add_argument(f--user-data-dir{USER_DATA_DIR}) driver webdriver.Chrome(optionsoptions) driver.get(https://kyfw.12306.cn/otn/resources/login.html) # 輪詢檢測是否已跳轉(zhuǎn)到個人中心最多等 120 秒 for _ in range(120): if login not in driver.current_url: break time.sleep(1) # 登錄成功后保存 Cookie cookies driver.get_cookies() with open(COOKIE_FILE, w, encodingutf-8) as f: json.dump(cookies, f, ensure_asciiFalse, indent2) print(f已保存 {len(cookies)} 條 Cookie) driver.quit()邏輯說明代碼打開12306登錄二維碼頁面然后用一個120次的循環(huán)每秒檢查一次當(dāng)前URL——只要URL里不再包含login字樣說明登錄成功并且頁面發(fā)生了跳轉(zhuǎn)。跳轉(zhuǎn)后馬上執(zhí)行g(shù)et_cookies()把Cookie抓下來寫進(jìn)JSON文件。注意這里的time.sleep(1)是輪詢等待不是精確計時它的作用是給瀏覽器留出跳轉(zhuǎn)和渲染的時間。為什么不用WebDriverWait因為登錄跳轉(zhuǎn)的目標(biāo)URL每次啟動時可能不一樣用顯式等待反而要額外處理條件輪詢更直觀。參數(shù)說明120秒是登錄超時上限如果你掃碼太慢或者網(wǎng)絡(luò)卡頓超時后腳本不會崩但Cookie文件不會生成你只需要重新跑一次。判斷跳轉(zhuǎn)用的是login關(guān)鍵字這個條件在12306的登錄流程里是穩(wěn)定存在的從登錄頁跳到個人中心后URL會有明顯變化如果你發(fā)現(xiàn)自己的環(huán)境不滿足條件可以用driver.find_element(By.ID, qd_index)檢測首頁訂單按鈕是否存在來替代。Cookie文件生成后每次啟動腳本前先加載它def load_cookies(driver): with open(COOKIE_FILE, r, encodingutf-8) as f: cookies json.load(f) for c in cookies: driver.add_cookie(c) driver.refresh()這里有個細(xì)節(jié)driver.add_cookie()必須在目標(biāo)域名下調(diào)用也就是說你得先driver.get(https://kyfw.12306.cn)打開過一次頁面域名確認(rèn)了才能往里塞Cookie不然會報“cannot add cookie for non-current domain”。這是新手必踩的坑之一。3.2 余票查詢解析station_name.js的站名編碼12306的余票查詢URL格式大致是https://kyfw.12306.cn/otn/leftTicket/query參數(shù)需要出發(fā)站編號、到達(dá)站編號、日期、坐席類型。這里的站名編碼不是漢字也不是拼音而是車站數(shù)據(jù)文件station_name.js里的固定編號。這個文件在12306的靜態(tài)資源目錄里可以直接拉取內(nèi)容是var station_names c|BJP|北京北|beijingbei|bjb|...這種結(jié)構(gòu)。解析它其實是整個腳本里最“算法”的一步。我的做法是在啟動時加載一次解析成字典后續(xù)查詢直接查表——做起來不復(fù)雜但容易在中文名和拼音的對應(yīng)上踩坑城市有同名站、有帶“站”字和不帶“站”字的輸入差異統(tǒng)一以中文名為準(zhǔn)。import re import requests class StationDB: def __init__(self, js_url): self.name2code {} self.code2name {} self.parse(js_url) def parse(self, url): r requests.get(url, timeout10) text r.content.decode(utf-8) # 字段以 c| 和 | 分隔順序為 拼音縮寫|站名|電報碼|拼音|簡拼|編號 for item in text.split()[1:]: parts item.split(|) if len(parts) 6: code parts[5] name parts[1] self.name2code[name] code self.code2name[code] name stations StationDB(https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version1.9300) print(stations.name2code[北京]) print(stations.name2code[上海虹橋])邏輯說明代碼拉取station_name.js按分割得到每個車站的獨立條目再按|分割字段取第2個中文名和第6個編號構(gòu)建正向和反向映射。這樣查詢時傳入“北京”直接拿到編號拿到響應(yīng)后也可以根據(jù)編號反查站名來校驗結(jié)果。station_version這個查詢參數(shù)不是固定的它會隨文件更新變化但你用不帶版本號的原始URL也能拿到最新文件所以不用精確到版本號。參數(shù)說明requests.get的timeout10約束了請求上限超過10秒直接拋異常讓腳本終止避免網(wǎng)絡(luò)抖動導(dǎo)致掛死。正則也可以用但我更推薦字符串分割直觀且不容易錯。解析后建議打印兩個站名做冒煙驗證比如“北京”和“上海虹橋”確認(rèn)字典結(jié)構(gòu)沒問題再繼續(xù)。余票查詢本身用HTTP請求就能完成不一定非得走Selenium的瀏覽器渲染——這也算Selenium搶票腳本的另外一個思路用Selenium管登錄和提交用requests管高頻查詢。查詢請求帶好Cookie響應(yīng)是JSON格式里面包含了每個車次的余票狀態(tài)碼比如“有票”用數(shù)字表示“無票”用空串表示。判斷邏輯不復(fù)雜核心是查一次、解析一次、循環(huán)判斷。3.3 提交訂單從“預(yù)定”到“提交訂單”的節(jié)點控制查詢到有票之后腳本要接管瀏覽器去執(zhí)行真正的下單操作。這一步必須走Selenium原因是下單接口的加密參數(shù)依賴頁面環(huán)境你手動用requests偽造請求十有八九會被服務(wù)器拒絕。流程是定位到符合條件的車次行點擊“預(yù)定”按鈕等彈窗加載出乘車人列表勾選乘客點“提交訂單”最后在確認(rèn)頁面點“確定”。每一步之間必須有等待條件不能只靠time.sleep(1)裸奔——網(wǎng)絡(luò)慢的時候頁面元素還沒渲染完你就去點擊直接拋NoSuchElementException。from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.by import By def select_train(driver, expect_train_no): # 等待車次列表渲染完成 wait WebDriverWait(driver, 15) rows wait.until( EC.presence_of_all_elements_located((By.CSS_SELECTOR, #queryLeftTable tr)) ) for row in rows: try: # 車次號在每行的第 1 列 no row.find_element(By.CSS_SELECTOR, td:nth-child(1)).text.strip() if no expect_train_no: # 等待“預(yù)定”按鈕變?yōu)榭牲c擊 btn row.find_element(By.CSS_SELECTOR, a.btn72) if btn and 預(yù)定 in btn.text: btn.click() return True except Exception: continue return False邏輯說明代碼先等車次表格的行元素全部出現(xiàn)然后遍歷每一行提取第一列的文本作為車次號匹配目標(biāo)車次一旦命中就點擊該行的“預(yù)定”按鈕。try/except包裹單行解析是必要的因為表格里有些行是分隔行、有些行是高鐵動臥的特殊結(jié)構(gòu)與其寫復(fù)雜的判斷邏輯不如讓異常跳過不可用的行。這里用了顯式等待而不是固定sleep好處是頁面加載快慢都能自適應(yīng)。參數(shù)說明15秒是等待車次列表出現(xiàn)的最大時長超過會拋TimeoutException你要根據(jù)實際網(wǎng)絡(luò)環(huán)境調(diào)這個值。td:nth-child(1)是列選擇器12306的表格列順序調(diào)整時這里要跟著改。btn72這個class是12306車次行“預(yù)定”按鈕的穩(wěn)定樣式名但不是官方對外接口頁面改版時可能失效——遇到失效不要慌用瀏覽器F12看新按鈕的class再替換即可。點完“預(yù)定”后頁面會彈出確認(rèn)訂單的窗口這時視野要切到新彈出的dialog元素再依次勾選乘車人、提交訂單。這一段和上面邏輯類似不再重復(fù)貼代碼但有一個決定性的參數(shù)值得單獨說乘客選擇的等待時間。彈窗里的乘車人列表是從后臺異步拉取的直接點擊很容易撲空建議配合EC.element_to_be_clickable來點擊每個乘客的復(fù)選框。如果乘客名單比較長優(yōu)先用身份證尾號做定位關(guān)鍵詞別用姓名重名會勾錯人。走到“提交訂單”這一步搶票腳本的“技術(shù)含量”基本用完了接下來拼的是穩(wěn)定性和容錯。而穩(wěn)定性的核心是參數(shù)調(diào)得夠不夠細(xì)。4. 搶票參數(shù)到底怎么調(diào)刷新間隔、加載策略與超時控制寫一套腳本跑通與讓一套腳本穩(wěn)定跑完一輪起售這是兩碼事。我見過很多人在第一個版本里把查詢間隔設(shè)成0.1秒結(jié)果跑了兩分鐘IP被臨時限制后面所有請求全部超時。這章把幾個關(guān)鍵參數(shù)講透講完你就知道為什么有些搶票腳本“玄學(xué)”般好用有些跑一次就封。4.1 刷新間隔不是越快越好查詢壓力與IP風(fēng)控12306的余票接口對頻率是有限制的具體閾值沒有官方口徑但根據(jù)社區(qū)長期的觀察單IP密集請求持續(xù)一段時間后會出現(xiàn)連接重置或請求被導(dǎo)向驗證頁。所以刷新間隔的取值范圍建議在13秒之間起售高峰可以降低到0.8秒但一旦出現(xiàn)連續(xù)超時就要立刻拉長退避。間歇性刷新比連續(xù)刷新更穩(wěn)亂拳打死老師傅的打法在這里不適用。參數(shù)設(shè)計的核心是“指數(shù)退避”。維護(hù)一個連續(xù)失敗計數(shù)器初始查詢間隔1秒每失敗一次間隔翻倍最多加到10秒一旦成功間隔重置回初始值。用偽代碼表示就是interval 1.0 fail_count 0 while not bought: try: resp query_left_ticket(...) fail_count 0 interval 1.0 handle_response(resp) except RequestError: fail_count 1 interval min(1.0 * (2 ** fail_count), 10.0) time.sleep(interval)邏輯說明2 ** fail_count實現(xiàn)了翻倍退避連續(xù)失敗3次間隔就是8秒基本能緩解風(fēng)控的緊張狀態(tài)。min(..., 10.0)給間隔封頂防止長時間卡在超長等待里錯過起售窗口。注意退避只針對查詢接口一旦進(jìn)入提交訂單環(huán)節(jié)這個循環(huán)就退出了不能讓訂單提交也按1秒一次的頻率跑高并發(fā)搶票的訂單提交本來就容易碰上排隊提示提交本身要的是快、準(zhǔn)頻率問題反而是次要的。4.2 頁面加載策略與超時參數(shù)讓瀏覽器不傻等Selenium打開的瀏覽器默認(rèn)會等待頁面所有資源加載完畢才返回控制權(quán)這對搶票場景是災(zāi)難——12306首頁掛了幾個大圖和一個慢速統(tǒng)計腳本光等它就浪費好幾秒。正確的做法是把頁面加載策略改成none或eager讓瀏覽器不等次要資源交互元素一就緒就繼續(xù)執(zhí)行。這個參數(shù)能省掉你寶貴的起售時間。from selenium import webdriver options webdriver.ChromeOptions() # eagerDOM 加載完成后立即繼續(xù)不等樣式表和圖片 options.page_load_strategy eager # 或者更激進(jìn)none完全不等 # options.page_load_strategy none driver webdriver.Chrome(optionsoptions) driver.set_page_load_timeout(15) driver.set_script_timeout(10) driver.get(https://kyfw.12306.cn/otn/leftTicket/init?linktypeiddc)參數(shù)說明eager和none的區(qū)別是讓出控制權(quán)的時機eager是DOM樹解析完成就返回適合大部分場景none是發(fā)出導(dǎo)航請求就返回頁面的很多元素這時候還沒生成你的后續(xù)查找操作必須用顯式等待硬扛。說實話none更適合配合CDP做精細(xì)控制的場景搶票腳本用eager性價比最高既不等圖片又保證關(guān)鍵按鈕可用。set_page_load_timeout和set_script_timeout是雙保險防止個別資源掛起拖死整個會話。4.3 12306 MCP和“改接口”思路Selenium之外的選擇寫到這里插一句最近圈子里討論比較多的事情有開發(fā)者嘗試把12306的余票查詢接入MCP模型上下文協(xié)議讓大模型代理去調(diào)用余票接口替代手寫循環(huán)輪詢。這個方向的吸引人之處在于用自然語言就能編排搶票策略比如“幫我盯今天到上海的高鐵二等座有票就下單”。但從落地效果看MCP方案要解決的核心問題和Selenium方案一樣登錄態(tài)。查詢接口可以做成工具給AI調(diào)用但真正提交訂單還是繞不開網(wǎng)站的加密參數(shù)和風(fēng)控。所以我的判斷是MCP目前更適合做余票監(jiān)控和票情分析離“自動買到票”還有距離——至少現(xiàn)階段Selenium這類瀏覽器自動化方案依然是落地的穩(wěn)定底線。4.4 提交訂單階段的兩個關(guān)鍵參數(shù)重試開關(guān)與排隊提示提交訂單時頁面可能出現(xiàn)兩種狀態(tài)一是彈“當(dāng)前排隊人數(shù)過多”二是按鈕置灰不可點擊。這兩種情況的處理參數(shù)完全不同。排隊提示出現(xiàn)時不要關(guān)閉彈窗重來排隊本身就是狀態(tài)機——系統(tǒng)給了一個排隊序號你在隊列里等著刷新就意味著退出重排。你應(yīng)該做的是輪詢檢查排隊提示是否消失超過30秒再考慮放棄重試。按鈕置灰則是另一回事說明當(dāng)前車次已經(jīng)無票或者你提交的乘客類型與該坐席不匹配這時候別傻等返回查詢循環(huán)重新找下一輪放票。把這個判斷邏輯寫進(jìn)參數(shù)配置里能讓腳本在起售高峰期更“抗造”。def submit_order(driver, max_queue_wait30): wait WebDriverWait(driver, 5) submit_btn wait.until(EC.element_to_be_clickable((By.ID, submitOrder_id))) submit_btn.click() # 檢測排隊框可選配置項排隊超時時間 start time.time() while time.time() - start max_queue_wait: queue_bar driver.find_elements(By.CSS_SELECTOR, #queue_div) if queue_bar and queue_bar[0].is_displayed(): time.sleep(1) continue # 排隊結(jié)束進(jìn)入確認(rèn)環(huán)節(jié) confirm_btn driver.find_element(By.ID, qr_submit_id) confirm_btn.click() return True return False邏輯說明點擊“提交訂單”后代碼進(jìn)入一個時間窗口型的循環(huán)只要排隊div可見就持續(xù)等待排隊div消失就立刻點擊最終確認(rèn)按鈕。max_queue_wait30意味著排隊最多容忍30秒超時放棄并返回False讓上層邏輯決定是繼續(xù)查詢還是暫停一會兒。這里的time.sleep(1)是排隊輪詢間隔不用設(shè)太短因為排隊狀態(tài)的變化是以秒為粒度的設(shè)成1秒已經(jīng)具備不錯的響應(yīng)速度。參數(shù)說明#queue_div是12306排隊提示框的常見選擇器但我要強調(diào)一下頁面的ID不是永久不變的你要是發(fā)現(xiàn)選擇器失效優(yōu)先打開瀏覽器開發(fā)者工具確認(rèn)一下實際結(jié)構(gòu)而不是懷疑自己代碼寫錯了。qr_submit_id是最終確認(rèn)按鈕的ID在改版中相對穩(wěn)定。max_queue_wait的值要根據(jù)搶票時段調(diào)整起售高峰排隊常見30秒以上你可以調(diào)到60但不要無限等非高峰時段通常秒過30秒綽綽有余。5. 搶票腳本的避坑清單5個高頻翻車點與排查辦法這一章是血淚經(jīng)驗的匯總。寫這套腳本的人多踩坑的人更多下面5個問題基本覆蓋了絕大多數(shù)新手會碰到的情況按“現(xiàn)象→原因→解決”的順序列出來你遇到問題時可以直接對號入座。5.1 啟動就報“SessionNotCreatedException”現(xiàn)象腳本啟動后立刻崩潰報錯內(nèi)容里帶著“This version of ChromeDriver only supports Chrome version XXX”。原因ChromeDriver和本機Chrome版本不匹配瀏覽器自動更新過但驅(qū)動還是舊版。這是環(huán)境問題里最常見的占了這類報錯的八成。解決去ChromeDriver鏡像站下載與本機Chrome大版本一致的驅(qū)動替換掉原來的二進(jìn)制文件。如果機器上有多個Chrome版本還要留意系統(tǒng)PATH指向的是哪一個。另外Selenium 4.x自帶的Selenium Manager有時會拉錯驅(qū)動手動指定service webdriver.ChromeService(executable_path/path/to/chromedriver)能繞開自動匹配的坑。版本對齊這件事沒有捷徑屬于一次配置長期受益的基礎(chǔ)工作。5.2 頁面能打開Cookie也保存了但腳本一跑就跳到登錄頁現(xiàn)象手動登錄沒問題腳本啟動后加載Cookie也顯示成功但執(zhí)行到查詢時又被重定向回登錄頁。原因Cookie過期或者Cookie的域名/路徑不完整。12306的Cookie里有幾個關(guān)鍵會話字段有效期比較短而且有些字段是HttpOnly的你保存的是瀏覽器當(dāng)前會話的快照不代表永久有效。另外如果你用--user-data-dir加載了舊用戶目錄目錄里的舊Cookie可能和新保存的Cookie互相覆蓋。解決刪除本地Cookie文件重新走一遍掃碼登錄流程確保登錄后立刻保存到新的文件。加載Cookie時不要用driver.add_cookie一條條塞而應(yīng)該先打開登錄頁建立會話域再塞Cookie并刷新頁面。建議把Cookie文件按日期重命名比如cookies_20250101.json方便回退排查。如果還有問題檢查系統(tǒng)時間是否準(zhǔn)確——Cookie校驗對時間敏感系統(tǒng)時間偏差大會導(dǎo)致會話直接判定失效。5.3 車票顯示有票點擊提交卻提示“余票不足”現(xiàn)象查詢接口明明返回了有票狀態(tài)點進(jìn)提交訂單環(huán)節(jié)卻被提示沒有余票也就是網(wǎng)上很多人說的“12306顯示有票買的時候又顯示余票不足”。原因這是兩個層面的數(shù)據(jù)一致性延遲。查詢接口的余票狀態(tài)本身就存在數(shù)秒緩存頁面顯示“有票”不代表那幾張票還在更關(guān)鍵的是余票鎖定發(fā)生在你點擊提交訂單之后別人比你早幾十毫秒提交票已經(jīng)被鎖走你晚了一步就鎖不到。這不是腳本的bug是并發(fā)競爭的正常結(jié)果。解決這種情況說明你的查詢頻率和提交速度還有提升空間。第一縮小查詢范圍只查目標(biāo)車次別全頁面掃描減少決策耗時。第二把提交訂單的代碼路徑優(yōu)化到最短去掉多余的等待條件。第三接受一個事實在極端熱門的線路上腳本只是提高概率不是保證成功。遇到這種提示腳本應(yīng)該立即返回查詢循環(huán)等下一輪而不是卡在錯誤狀態(tài)里空轉(zhuǎn)。5.4 起售時間一到瀏覽器一直在轉(zhuǎn)圈不出結(jié)果現(xiàn)象起售那一刻點“查詢”瀏覽器頂部標(biāo)簽一直在轉(zhuǎn)等了十幾秒才出數(shù)據(jù)等到能點擊時票已經(jīng)沒了。原因頁面加載策略選得太保守默認(rèn)等待全部資源加載。12306的余票頁面在起售瞬間會推入大量數(shù)據(jù)圖片、腳本、統(tǒng)計SDK都會擠壓帶寬你悶頭等瀏覽器加載完成后臺的搶票請求早就把票耗光了。解決把頁面加載策略改成eager并且對查詢按鈕的點擊時機做優(yōu)化——起售前先把查詢條件填好、頁面停在查詢頁起售時間一到直接點擊“查詢”不重新加載整個頁面。還有一種常見做法是定時任務(wù)精準(zhǔn)觸發(fā)用Python的schedule庫在起售時間前5秒啟動腳本預(yù)留頁面加載時間讓查詢請求剛好在起售時刻發(fā)出。另外把瀏覽器窗口最小化并不能提快速度反而某些系統(tǒng)會降低后臺進(jìn)程的調(diào)度優(yōu)先級干脆讓窗口保持前臺別折騰。5.5 跑著跑著突然彈出滑塊驗證現(xiàn)象腳本連續(xù)運行一段時間后頁面彈出滑塊驗證組件Selenium后續(xù)操作全部卡住直到超時。原因頻率觸發(fā)了風(fēng)控。bytpass分流搶票為什么“被識別”是必然的——打著搶票名義的高頻請求目標(biāo)明確特征明顯平臺不攔你攔誰你用自己的Selenium腳本雖然沒有第三方軟件那么強的特征但長時間高頻操作同一個接口同樣會被識別?;瑝K本質(zhì)上是平臺在告訴你操作密度超出真人范圍來驗一下。解決第一降低輪詢頻率把間隔從0.5秒拉長到1.52秒雖然搶票概率會稍降但能保證腳本不被打斷。第二設(shè)計人機協(xié)作流程檢測到滑塊組件出現(xiàn)時腳本發(fā)送桌面通知或播放提示音由你來手動完成滑塊驗證驗證通過后腳本繼續(xù)運行。自動識別滑塊的方案不是不可行但12306的滑塊軌跡校驗越來越嚴(yán)自動化的通過率不穩(wěn)定與其花時間調(diào)識別代碼不如留一個人工兜底的口子。說到底平臺設(shè)置驗證碼的本意就是防止自動化以現(xiàn)在的風(fēng)控水平硬拼識別算法是個性價比很低的方向。6. 驗證腳本的最終辦法把搶票拆成三段來測試拿到別人的“全部資料詳細(xì)文檔”或者在本地寫完這套腳本之后最該做的不是等下一次起售直接開跑而是先做一次演練。我的習(xí)慣是把流程拆成三段來測任何一段不過關(guān)都不進(jìn)入下一段。第一段測登錄啟動腳本掃碼登錄保存Cookie退出再啟動腳本加載Cookie刷新頁面確認(rèn)登錄態(tài)還在。這段測試的價值在于排除所有Cookie和會話層面的問題而且隨時能做不依賴車次時間。第二段測查詢隨便選一個非熱門線路比如北京到石家莊跑10次查詢循環(huán)觀察響應(yīng)時間、解析結(jié)果、退避邏輯是否正確。重點看兩個指標(biāo)平均響應(yīng)時間是否在1秒內(nèi)連續(xù)查詢多次后是否出現(xiàn)超時或驗證碼。第三段測提交找一個有余票的普通車次把腳本流程走到“提交訂單”但不要支付驗證到確認(rèn)訂單頁面就手動終止。這一步能檢查從車次定位到乘客勾選再到訂單確認(rèn)的全鏈路是否通暢。有一個我個人的習(xí)慣分享給你在正式搶票前把車次方向換成反方向試一次——比如你要搶北京到上海就先跑一次上海到北京的查詢提交流程。反向車次的余票通常充足更容易完整走通流程也更容易暴露提交環(huán)節(jié)的隱患。確認(rèn)三段全通實戰(zhàn)時你才有底氣把腳本掛在那里去干別的事。另外建議每次實戰(zhàn)前更新一次station_name.js的緩存12306偶爾會新增站點、調(diào)整編號用舊緩存查新站名會直接查不到票。這套方案的價值不只在搶票這件事本身。你把登錄態(tài)管理、輪詢退避、顯式等待、頁面加載策略這些細(xì)節(jié)吃透換成盯演唱會門票、驗證碼短信、秒殺場景底層思路都能復(fù)用。對我來說每次起售日蹲在電腦前看著腳本代替我做那些重復(fù)動作自己只負(fù)責(zé)處理驗證碼和最終支付那種“工具就位、邏輯閉環(huán)”的踏實感比搶到票本身更有成就感。希望你也能在調(diào)試這套腳本的過程中把Selenium從“聽說過”變成“用得順手”。好這套方案就講到這希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
东北女人性交| 亚洲中文制服诱惑| 岛国在线免费视频| 国产毛片片精品天天看视频 | 色香伊人| 久日91在线| 国产久久一区二区午夜| 一区二区三区免费岛国片| 一起草视频在线| 精品视频久久区| 亚熟在线| 色女女女导航| 婷婷五月天色色| 操逼片国产| 日本精品999| 久久妇| 亚洲情色电影网| 777奇米影视777四色| 在线免费观看日韩一区| 国产精品无码久久久久2025| 在线岛国新天堂8| 四虎在线视频| 91热| 午夜一区| 国产91会所女技师在线观看| 亚洲国产婷婷在线播放| 日韩综合成人免费视频| 免费看片黄| 97欧美超碰| 美女诱惑久久| 精品免费一区| 日韩偷拍一区二区三区| 亚洲国产精品无码AV久久久| 国产精品视频91久久| 天天日天天干天天操| 天天噜| 草草草视频| 98超碰欧美| 亚州欧美在线| 国内一级精品| 成人毛片免费| 国产AV激情无码久久无码| 亚洲色图欧美色图日韩色图| 岛园激情| 91狠狠色丁香婷婷综合久久精品| 国产 日韩 欧美 人妻 熟女 中文 69人妻精品一区二区绯色 | 91综合中文字幕| 91bbbbbb| 草草草草视频| 亚洲欧洲无码bt精品合集| 日韩成人性日韩成人性爱视频在线免费观看| 国产精品国产精品国产| 999综合网| 亚洲人妻久久| 黄色片A级一区二区三区| 欧美性爱无码一区二区三区| 国产无马av| 在线 制服丝袜中出 人妻| 婷婷五月丁香五月| 欧美黑人与女人91~| 五十路熟女工口 | 亚洲男人天堂手机版| 麻豆一区二区三区在线看 | 亚洲不卡AV在线| 天天摸天天插天天日| 日本精品88888888| 色婷婷淫色网| 91亚洲网站| 2024黄色视频| 久操网视频| 亚洲精品男人的天堂| 亚洲免费精品一区| 97精品网站| 欧美激情视频一区二区| 日本午夜操逼| 亚洲一二三四区机械| 97超碰超欧美。| 欧美伊人电影| 亚洲蜜乳av| 桃色五月天| oumeisetupian| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 天天拍夜夜| 中文人妻av高清一区| 国产欧美一区激情交| 日韩精品人妻系列无码天堂| 亚洲精品97久久| 人人做,人人操,人人摸| 婷婷精品视频| 91美女国产在线| 极品销魂美女一区二区 | 少妇天堂网络| 国产丝袜欧美在线视频| 国产99 中文字幕日韩小视频| 丝袜制服字幕在线| 91一区二区三区蜜桃| www.超碰在线| 一区二区三区在线日韩影院观看| 四虎国产精品永久在线囯在线| 韩日无码在线观看| 欧美中字二区| 91色人妻| 91精品成人| 天天噜| 99热只有这里有精品| 亚洲av热热色| 岛国黄片网站| 激情四射婷婷四五月天| 99少妇| 性爱综合网| 超碰69| 飘花国产午夜精品不卡| 伊人久久亚洲中文字幕| 蜜臀视频网站| 日韩美女久久一区二区三区| 丰满人妻一区二区三区色-百度| 色色色欧美| 美女91av| 精品国产www久久| 国模不卡一本二本三电影| 亚洲一区二区三区婷婷| 青青爽| 啊啊啊啊网站| 亚洲美欧999| av爱爱爱| 北京美女一区二区| 一级片在线观看高清无码| 精品久久久中文字幕不| 12一15性XXXX粉嫩国产| 色哟哟av网址| 欧美综合区| 强乱老妇中文字幕| 日本精品一区三区| 91久久九九精品国产综合| 婷婷色一区| 2019天天干| 99久久无色码| 国产AV激情无码久久无码| 日韩欧美偷拍美女视频| 偷看洗澡一二三区美女| 亚洲av资源| 男人的天堂网免费| 96久久精品一二三区色欲| 密臀国产在线| 91久久久视| 久久九九视频九九视频| 91亚.色| 久久黄黄| 制度丝袜99| 欧美爱国产综合、| 久/久精品99看9| 亚洲色交| 久久久久久久国产| 亚洲色图亚洲无码强奸乱伦| 欧美亚洲天天| 久久熟妇五十路一区| 中文字幕精品一区二区精| 成人资源中文字幕在线观看| 97超碰国产亚洲精品资源| 亚洲日韩视频二区| 亚洲色性| 一区二区 日韩 欧美 国产 传媒| 天天色综合天天操| 免费精品无码一级毛片牛牛影视| 色综合20p| 亚洲成人碰碰| 郑州宾馆老熟女露脸啪啪| 亚洲图片欧美另类综合免费视频大大香| 婷婷五月天社区| 五月丁香黄色网| 91男人天堂网| 99re8免费高清在线| 欧美网站免费| 26UUU欧美激情一区二区| 亚洲 无码 有码 中文字幕| 97视频在线免费看| 六月丁香啪啪| 成人网站 免费观看| 午夜福利一区二区影院| 这里只有精品97| 国产精品久久久久久久久久久久久久久久久久 | 高清无码 国产精品| 91bbbbbb| 亚州五月| 超碰导航97| 亚洲欧美setu| 97色插| 亚洲少妇喷视频看| 97人人操人人干| 99精品视频在线观看免费| 97亚洲综合影院| 久久久性少妇| 91天天c| 精品97精品97| 亚洲色图加勒比| 黄色AV影视| 国产免费永久精品无码| 亚洲 日韩 丝袜 熟女 变态| 国产在线观看91精品一区| 一本色道综合久久欧美日韩精品| 久久超碰天天| 变态另类专区| 天天综合网~91| 白嫩妹子国产骚| 嫩草影院永久在线制服丝袜| 天天日天天屌天天操| 麻豆性爱视频在线播放| 亚洲AV资源| 婷婷五月丁香五月| 青青草在线视频欧美| 久久免费老司机精品| 92福利社视频| 天天日日日射| 国产丰满少妇久久久精品影院| 欧美亚洲性爱一区二区| 狠狠久久四虎| 精爱久久| 超碰97久久国| 九久精品| 日韩免费中文字幕视频| 国产呦精品一区二区三区下载| 免费一级特黄特色大片在线观看看| 日本成人免费一区二区三区| 日韩视频啪啪| 在线播放成人网站| 午夜呻吟欧美| 色99久草| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 激情小说亚洲| 国产精品直播在线观看直播| 亚洲精品骚逼| 欧美综色欧| 九九热精品视频六| 91国产操逼视频| 啪啪啪东京| 国产精品宅男免费| 性欧美另类高清| 天天干天天日天天射黄色片| 啊啊啊啊啊在线| 岛国黄片网站| 欧美成va视频网站| 日本女厕偷拍| 久久9999| 亚洲第一页第二页激情| 久久鲁干| 亚洲欧美综合色| 综合视频91| 天天影视91看看| 色哟哟 日韩精品| 日本国产高清色www视频在线| 91国产精品在线看| 九九九九九九视频| 久久久久久加勒比| 激情抓乳插进去啪啪啪日韩| 中文字幕黄色片| 欧美日韩少妇色情| 亚洲在线a| 日韩国产欧美伦理在线| 可以看的av| 91欧美丨精品丨入口| 中文三一区| 日韩黄色av中文字幕| 色婷婷基地| 亚精品无码毛片一区二区三区| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 久草精品国产99| 精品超碰国产| 男人精品天堂一区| 久热精品在线国产| 91原创在线观看| 日韩成人小视频| 亚洲人妻在线一区| 啊啊啊啊在线播放| 91深夜夜| 欧美一区二区三区大综合| 国产sv美女内射| 一级特级aaaa毛片免费观看| 超碰人妻中文在线| 免费AV中文网在线观看| 香蕉99秘 精品一区丁香| 夜夜夜夜爽| 黄色av网站在线播放| 蜜臀久久久久久999| 日日干夜夜骑| 亚洲最新av无码成人精品区| 欧美综合色站| 女人与公拘交酡2020视频| 日韩天美| 91丝袜| 久久久无码国精品无码三区三区| 人人妻人人澡人人爽人人精品浪潮| 中文一区在线视频| 91插B网站| 懂色AV蜜臀无码精品APP | 天天狠操| 日韩av情韩国爱禁区av一区二区| 人人操人人大香蕉| 久久久久久久久9| 国产精品熟女乱伦| 精品在线78| 5月婷婷6月六月丁香| 操淫穴亚洲五月丁香 | 在线观看视频91| 日韩国产欧美伦理在线| 黑人粗大V S日韩女优视频| 精品人妻一区二区视频| 99国产精品久久久在线播放| caopeng97| 老鸭窝日丰县女人| 久久性爱视频99| 伊人久久国产免费观看视频| 国产a级精品| 免费看污网址| 国产激情综合五月久久| 99re在线精品78| 亚洲 欧美 中文 日韩超碰| 久久一区二区高清免费| 国产精品一区在线播放| 国产青青综合伊人| 97频视在线| 天天干一干| 欧美爱爱97| 欧美黄业| 色欲日韩欧美在线一区| 蜜桃av综合网发布| 92大香蕉| 99久久9| 婷婷久久久| 啊啊啊啊视频免费| 夜夜 中文视频rt| 亚洲 欧美 综合 91| 欧美日韩亚洲少妇寂寞影院正在播放| 欧美v日韩v亚洲v最新在线| 亚洲女毛多水多21P| 在线情色电影 91大| 我要看免费韩日黄片| 国产精品操| 国产视频第2页| 亚洲日本成人动漫| 国产精品呦一区二区三区| 国产91丝袜在线播放蜜月| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 亚洲第一视频 欧美风情 日韩| 欧美成人都市人妻| 成人性爱视频在线看| 好爽视频在线观看| 日韩 女同 综合| 色爽爽文学| 性色av网站| 新亚洲无码| 88在线一区二区三区| 亚洲中文人妻色| 亚洲欧美经典一区二区| 日韩美女操b| 日本成人免费一区二区三区| 国产路线专区| 国产精品69久久久久孕妇欧美| 欧美嗯啊……在线观看视频免费| 无码自拍SM| 在线看的av| 人人操人人摸人人骑| 青青草中日韩在线| 超碰1997| 久久久久久波多野吉衣高潮| 免费农村成人少妇人妻Aa一区二区视频 | 国产一国产一级毛片古装| 999熟女精品| 欧美一二在线| 国产人伦精品一区二区三区 | 性九九九九九九| 麻豆婷婷成人一二三| 久久久爆乳翘臀一线天伦理视频| 久久精品国产免费观看99| 国产欧美精选自拍一区| 中文字幕在线观看永久| 免费观看性欧美一级| 亚洲综合影院| 成年人黄色视频免费| 狼人狠干| 久久一区二区三区四区五区| 青娱乐国产剧情av一区| 无码人妻精品一区二区三区99不卡| 熟妇女伦乱视频| 日日骚一区二区三区| 清纯唯美综合亚洲| 亚洲第二页| 久九九九九九九九热| 天天搞欧美| 欧美人妻熟女在线| 蜜臀99久久国产| 四虎精品永久在线观看| 国产精品久久久久久久久久久久| 丁香七月婷婷| 91大神精品长腿在线观看网站| 日韩成人性日韩成人性爱视频在线免费观看 | 插穴性爱视频在线观看| www.av在线观看| 久久精品性| 激情第四色| 亚州国产精品乱| 99国内精品| yirendaxiangjiashipin| 美日韩一卡二卡三卡免费人妻精品| 91亚洲青青草原精品1区| 偷窥自拍亚洲色图| 欧美人妻中出| 欧美色道啊| 成人国产二区三区在线,男女精品。| 超碰色97| av网页一区二区三区| 免费在线观看国内色片网站网址| 婷婷久草一区二区三区| 四虎免费看黄| 密臀成人视频久久久| 亚洲天堂欧美| 国产精品黄色三级av| 国模精品一区二区三区苹果色戒 | 亚洲诱惑| 大鸡巴久久| 日本伦乱九九九综合| 51一区二区三区| 五月天社区| 九九亚洲精品| 96久久久久久久| 日韩精品在线放| 亚洲欧美国产成人综合不卡| 中文一区二区婷婷视频| 蜜桃网熟妇| 成全动漫视频观看免费下载| 日韩激情啪啪| 亚洲乱色视频一区、二区在线| 加勒比色综合| 黄色免费一级在线毛片| 怡红院一区二区熟女人妻| 天天狠| 人妻少妇久久中文| 樱花蜜乳av| 四虎AV在线观看| 天天干天天日天天射黄色片| 夜夜爽夜夜| 中国国国产一级特黄毛片| 天天影视网综合少妇| 99re在线精品78| 国产黄色视频久久| 超碰亚洲97| 日日日日做夜夜夜夜做无码97| 国产精品亚洲色婷婷久久久| 国产伦精品一区二区三区视频女| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 欧美综合网| www网站黄| 亚洲综合性网址| 夜草网站| 亚洲色图激情小说| 日逼97| 精品人人插人人操| 久久精品人妻一区二区三区| 亚洲精品三区在线观看| 综合网亚| 欧美日韩大香蕉| 久久久一级| 夜夜高潮夜夜爽夜夜爱爱一区| 91精品无码人妻系列| 色五月天AV| Sekablack无码一区| 夜夜肏2021| 精品999999| 久久超碰久| 97国产超碰| 亚州精品一区二区三区香中文字幕在线| 久操免费视频| 91超碰人人操| 爱逼综合| 超碰 另类 欧美 | 91久青| 91无码西班牙视频在线| 人人妻人人操人人乐| av网站免费线看| 欧美se亚洲| 国产在线激情视频| 秋霞鲁丝午夜无码一区二区三| 久久精品国产亚洲AV高清演员表| 青久操| 亚州操逼图| 老鸭窝成人| 国产少妇肉丝在线观看| 91精品国产91久久青草| 97久久超碰国产网站| 都市久久精品激情亚洲| 亚洲诱惑天堂 | 婷婷探花久久精品一区| 99免费在线视频| 91天天综合网| 少妇色综合| 97人人操人人干| 久久超碰97| 熟女天天干| 女人午夜视频777| 91美女视频直播| 欧美最婬乱婬爆婬性视频 | 亚洲精品久久一区二区三区蜜桃臀| 黄色片大香蕉| 少妇久久久久久久久| 青青草视频在线观看一区二区| 大学生口爆吞精| 亚洲欧美天| 97色欧州| 婷婷丁香五月激情啪啪| 视频国产成人精品日本亚洲18 | 1禁看欧美黄片免费看| 欧美激情1区| 老熟女熟妇| 成人性爱电影网| 亚洲婷婷丁香在线| 97在线欧| 日本999精品| 熟女人妻久久中文字幕一二区| 狠狠色噜噜狠狠狠狠2018| 后入式999| 青青草伊人久久| 97人人模人人爽人人| 精品无码一区二区三区色欲| 性高潮久久久| 性爱AV天堂| 中文字幕国产精品1区| 国产精品久久久久久久毛片1| 美欧色综合| 一区二区三区在线日韩影院观看| 色呦呦、国产精品| 天天爽天天| 亚洲最大AV网| 日韩综合成人免费视频| 国产精品久久久久久久久久久久久久吹| 亚洲诱惑| 欧美第38页| 天天欧美色| 啊v视频在线观看| 蜜乳AV一区| 日本一区二区三区午夜观看| 九九亚洲| 精品人妻一区二区三区免费视频| 欧美洲精品一级| 91欧美美女日韩国产婷婷| 国产成人资源| 亚欧成人综合影院| 狠狠色综合网| 传媒在线观看一区二区三区| 啊啊啊好疼| 激情终合网| 欧美精品第四五页中文字幕在线观看| 麻豆天美国美国产| 91丨国产丨白浆| 亚洲男人的天堂亚洲| 深田咏美亚洲精品福利社| 黑人狂躁日本妞一区二区三区| 日韩欧洲操屄视频| 久久超碰国产一区二区三区| 日本中文熟女视频| 超碰97人人cao| 亚洲最新Av| 欧美日韩国产一区二区小黄片大全| 国产97在线视频| 日日爱99| 青青青国产手线观看视频2| 成人性爱免费播放| 秋霞一级A片黄色视频| 人妻二区| 伊人久久大香线蕉无码| 8050无码八戒| 涩五月婷婷| 久久99综合| 男人的天堂在线有码| 亚洲色图超碰在线| 一区久久久二区| 操美女人妻| 久久久久9999精品九九九| 色偷偷男人的天堂麻豆| 男人的天堂kva| 日本不卡在线二区三区| 亚洲成成熟女人综合一区二区| 草草影院最新网址| 亚洲AV成人无码一二三久久| 国产精品人妻无码久久久老鸭窝| www.伪伪| 久操操| 不卡人妻少妇精品毛片一区23区视频| 中文字幕版| 2017天天透天天通天天擦| 97久久久久久久久久| 国产97色在线| 高清国产性猛交xxxx乱大交| 欧美强奸乱| 欧洲色色| 美性中文综合网| 久肏视频字幕| 欧美成熟性爱精品| 日本精品不卡一二三区| 日本91白丝| 69久久久久久久久久久久久| 一区二区三区四区五区高清无码永久视频 | 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 3P乱轮视频| 国产毛片精品一区二区色欲黄A片| 久久久久骚| 久久噜| 校园春色亚洲| 久久99亚洲精品久久99果| 午夜精品99久久久久传媒| 天天躁狠狠躁av| 丰满人妻区一区二区三| 一起草精品人妻| 中文字幕乱碼在线| 亚洲欧洲自拍| 天天草天天干天天日| 欧美综合加勒比在线| 久久久久久久久9| 国产精品久久妻无码网站| 久热大香蕉| 国桃视频产巨乳精品一区二区在线| 婷婷激情四射| 久久一区二区三区入口| 欧美夜色| 日韩三级在线观看网站| 99精品久久| 激情婷婷丁香网| αⅴ天堂| 污污污8888| 一级黄色性爱裸体视频| 九九九九九九九精品视频| 超碰到97情色| 极品尤物自安慰| 中文字幕在在线观看网站| 少妇淫妇久久久久久久| 欧美成va视频网站| 久久九九精品一区二区| 在线看片国产精品每日更新| 黄日韩| 高潮的A片激情扒开一区| 日韩内射视频| 一区AV| 亚洲一二三精品久久网| 欧美亚洲激情| 午夜精品99久久久久传媒| 熟妇色99| 嗯嗯嗯啊啊啊在线免费观看| 97资源久久| 啊啊啊啊一区| 91人人| 天天淫人人妻日日色| 亚洲日韩国产精品| 男人的天堂,欧美亚洲另类国产日韩,日本高清一区二区 | 南澳成人一级片在线播放| 日本在线激情一区二区三区 | 国产 三级自拍| 二级毛片| 色五月综合网| 天天日夜干| 95人妻爽爽人人做人人澡| 欧美激情精品| 亚洲熟妇图片| 91精品亚洲内射孕妇| 成人热久久精品| 国产成人一级av88| 青青操日韩| 亚洲天堂中文字幕无码男同| 另类图片综合| 欧美97在线观看| 亚洲中文国际强奸字幕| 成人草草视频| 九色 人妻 大香蕉| 国产视频一区二区三区在线免费观看 | 欧美综合综合| 偷窥自拍亚洲色图| www亚洲免费| 4tube欧美女厕所| 理论久久婷婷网 8| 欧美传媒| 超碰9 7女人| 美女露胸露屁股| 天堂а√在线最新版在线| 影音资源男人日韩| 91大学精品激情戏| 成年人三级黄色片视频| 性生活性生大爱77AV国产| 亚洲欧美大香蕉| 74成人在线| 校园春色美腿丝袜| 97干色天堂| 精品一啪| 国内亚洲高清无码| 国产自偷| 亚洲自拍另类丝袜综合| 中文字幕亚洲在线一区| 精品一级毛片在线观看| 蜜桃臀一区二区aV| 青青草日逼视频| 日本精品高清一二区一本到| 绯色一区二区三区不卡少妇 | 97精品熟女少妇一区| 九九热精品视频六| surenchaopeng| 丁香五月偷拍| 欧美性爱www免费版| 96精品久久久久久久久| 国产女人9999| 国产精品 午夜福利| 在线视频日韩欧美国产| 人人操人人操人人人操| 蜜臀久久99精品久久久久久无删减| 亚洲999综合| 亚洲不卡不卡中文字幕不卡 | 人人操人人精品影片| 久久av网| 欧美色棕合| 少妇滛荡视频| 岛国视频免费在线观看| 在线毛片片免费观看| 超碰在线日韩一区| 九色 蝌蚪 熟女自 | 一区二区三区精品视频| 精品成人亚洲午夜电影| 国产又黄又爽| 91殴美| 東南亚性呦成人伦理资源在线视频| 91欧美性| 欧美变态激情网| 综合 青草 伊久久 影院 综合| 激情五月综合| 久久综合九九| 激情综合网五月婷婷| 福利伊人玖玖国产| 夜夜操青青草| 韩国一级婬片A片无码天美| 欧美亚洲自拍另类人妻| 午夜精品久久久| 91成人无码| 亚洲色图A| www.91视频网| 天天日天天干少妇日| 99热婷婷| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 强奸乱伦大香蕉| ?亚洲伊人伊成久久人综合网| 五月黑AⅤ| 欧美日韩人人精品| 久久久精品视频欧州站| 日韩欧美中文日韩欧美色| 啊啊啊啊啊啊啊网址在线观看| 日本男人插女人的逼黄色| 97色诱| 亚洲棕合电彰| 亚洲Av噜噜一区二区三区妖精| 最新精品久久蜜桃| 97精品国产精品免费观看| 另类 综合 日韩 欧美 亚洲| 欧美日韩一干二干| 98福利在线视频| 国产精品午夜精品| 91n处女在线观看| 搡老女人老熟女91老熟女综合网| 色噜噜狠狠色综无码久久合欧美| 欧美黑人熟妇精品91| 丝袜亚洲综合| 2019精品国产无码成人| 欧美日韩日产免费网站看| 99国产精品视频尤物| 婷婷丁香五月天综合东京热| 爱做久久久久久| 国内偷自视频区视频综合| 狠狠穞A片一區二區三區| 午夜操操操| 欧美日韩性爱无码| 亚洲欧美日韩国产丝袜自拍中文| 亚洲欧洲av影音| 美女诱惑爱爱| 天天干人人乐| 95人妻爽爽人人做人人澡 | 97干色| 欧美双插| 久久精品久久九九精品| 国产热RE99久久6国产精品首| www.夜夜| 东京热激情视频一二三区| 五月丁香六月婷| 色婷婷电影网| 91挑色欧美| 蜜臀久久99精品久久久久久成人小说| 青娱乐淫乱1314| 粉嫩不卡一区二区性爱 | 国产精品久久| 91操人| 青青草自拍视频在线播放| 麻豆精品三区视频| 亚洲91色| 唐山老熟妇露脸啪啪叫| 亚洲熟妇图片| 九九久久国产精品怡红院| 99999精品| 国产a级午夜毛片| 日日夜夜骚| 欧美日韩中文字幕不卡| 人人人摸人人| 综合色图区| 91无摭挡| 日本人妻中文字幕精品| 婷婷午夜| av草草在线电影| 99re免费视频精品全部| 九色PORNY9l原创自拍| 中文字幕人乱码中文字的预防方法| 色噜噜狠狠色综无码久久合欧美| 亚洲精品aa久久伊人| 男人天堂久久日韩| 免费a v| 亚洲高清在线| 亚洲久久东京热一二三四五区视频| 久久精品国产精品一区| 人人操av| 日本精品加勒比海一区| 久久成人午夜精品影院| 久久精品一区| 欧美色宗合| 五月开心网| 欧美综合综合| 激情专区综合| 尤物视频偷拍免费| 国产91乱伦| 中文字幕女同在线| 久久成人国产精品| 色哟哟-国产专区| 搡老女人老91妇女老熟女| 大香蕉九九| 日1区2区3区2020| 婷婷久热| 国产午夜精品一区二区三区牛牛| 日本性爱不卡视频| 色婷婷一区二区三区久久午夜成人不| 国产精品久久久久亚洲av| 啊啊啊不要啊啊受不了了视频在线| 无码精品久久久久久亚洲| 欧美激情总合网| 97超碰人妻| 偷拍欧美激情| 看免费一级在线播放毛片| 久久9亚洲| 国产在线综合网| 欧美狠狠操| 成人97人人超碰人人| 蜜臀久久在线视频| 国产av又色又爽又黄| 亚洲综合贴图91 | 日本中文字幕一区| 在线人人人人人人精品超| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲精品性爱片| www. 男人天堂成人在线| 亚洲色图日韩精品| 疯操AV| 欧美午夜精品久久久久久3D | 日本A级视频| 一区二区三区黄色片a| 亚洲国内精品成人不卡| 8050无码八戒| 综合久久9| 69精品人人人人| 乱伦3P视频| 久久久久久久| 91欧美偷拍| 综合免费无码中文| 另类欧美综合| 久久9精品视频| 韩国成人精品久久久免费看| 九九热只有精品| 殴美牲| 国产成人一级av88| 中文字幕乱妇免费视频| 熟妇人妻一区二区三区| 三级特黄60分钟播放| 毛片99-全集电影手机免费观看完整-B029AV | 国产精品视频白浆免费| 久久久人妻| 色网综合网| 96精品在线| 九月丁香婷婷色| 奶水 人妻 哺乳 在线| 亚洲色图加勒比| 欧美一级做a爰片免费视频| 亚州综合| 超碰97综合网| 欧洲亚洲人妻无码中字久久三区四区| 青青操轻轻| 蜜臀一区二区三区在线| 九99久久| 欧美老妇综合网| 亚洲一区日韩| 再深点灬舒服灬太大了添视频| 欧美日综合| 麻豆性爱视频在线播放| 婷婷中文字幕| 乱伦av国产| 中文字幕天堂在线| 99999久久精| 国产妇女精品视频青青草| 啊啊啊 在线观看| 久操不卡视频| 国产精品熟女九色九色蜜臀| 白丝一区| 少妇高潮一区二区三区在线| 国产第11页| 吉川爱美98堂在线| 亚洲色图久久精品蜜| 亚洲Av无码成人精品国产| 日韩无码操逼片| 日韩亚洲欧美中文字幕| 伊人欧美大香蕉视频| 新视频sss国产| 亚洲国产综合久久久性感熟妇| 人人色人人操在线| 亚欧无码在线| 日本三级一区二区 在线| 私人尤物在线精品不卡| 欧美九九九| 亚洲 中文 欧美 日韩 在线| 999九九精品| 搞中出视频在线观看| www.狠狠干.coom | 激情自拍 校园春色| 日本污ww视频网站| 国产一级作爱毛片| 欧美日韩国产中文精品字幕自在自线| 视频一区二区三区精品| 成·人免费午夜在线观看| 麻豆视频一区二区| 欧洲综合色| 超碰久超碰久| 中文 人妻 制服| 精品亚洲天堂| 91成人无码| 青青在线视频日韩欧美| 97chaopengongkai| 99999亚洲| 亚洲图片另类| 天天日天天干天天操| 久久精品国产亚洲AV先锋| 久久久久久久九九九九| 射综合网| 欧美日韩在线视频网站| 欧美高清18A片| 免费av在线播放二区| 久艾草在线精品视频在线观看| 99re免费视频精品全部| 国产乱伦性爱区| 99re公开精品免费视频| 强歼乱伦资源网| 中文字幕免费看大片| 亚洲综合色婷婷| 99色在线| 91视频观看网站| 伊人丝袜美腿高跟在线观看高清| 蜜臀AV成人精品蜜臀| 91精品国久久久久久无码| 操淫穴亚洲五月丁香| 亚州色图欧美色图| 欧美97在线欧| 久久久久久久九九九九九九| 欧美经典一区二区三区 | 超碰97日韩| 欧美一区二区男人天堂| 日本高清免费一本视频在线观看| 91精品女厕偷拍视频| 一起草精品人妻| 男人亚洲91首页在线| 91夜夜蜜桃臀1区2区3区| 欧美激情久久久久| 色约约一区=区三区| AAAA级日本片免费视频| 精品人体无圣光凹凸| 人人色人人操在线| 九九久久首页| 97超碰总站| 熟妇视频一区二区三区在线| 欧美A片中文字幕| 亚洲色图欧美视频| 97中文天堂| 欧美日韩另类字幕中文| 91熟女网| 搞中出久久| 丁香六月天| 综合欧美日韩在线| 99999久久精| 日日夜夜精品| 无码色| 青青草玖玖爱| 99999精品| 久久一区二区三区入口| 成人熟女视频一区二区三区| 亚洲校园激情| 澳门黄片一香蕉视频| 欧美 亚洲 偷拍自拍| 78p欧美| 99re黄 | 欧美亚洲在线| 飘花国产午夜精品不卡| AA丁香综合激情| 久久久久久久久久久久欧美日| 91东北熟女| 久操精品网| 国产精品午夜福利视频| 思思热在线视频免费| 五月综合激情| 99精品无码| 强歼乱伦资源网| 精品一国2| 国产福利视频精品视频| 99色悠悠| 999999精品| 91丨九色丨国产打屁股| 亚洲欧美综合网站| 人人妻人人爽 97人人看碰人免费公开视频| 激情五月婷婷综合| 极品一区二区三区免费| 中文色综合| 精品免费一区二区三区在线亚洲人成| 十八禁黄色| 日本精品一区二区中文字幕| 中文幕97| 午夜操逼不卡| 超碰碰97| 亚洲欧洲自拍图片专区满春格 | 亚洲一区二区三区在线激情| 大香蕉亚洲中文| 欧美日本不卡在线| 亚洲国产一区二区三区四区国产| 天天色踪合| 久久社区一区二区三区| 久久久久久波多野吉衣高潮| 欧美中文字幕日韩在线| 中文字幕一区二区三区蜜臀| 久久加勒比| 青青草日韩无码| AV女优男人的天堂| 发朗少妇买婬全视频中文| 日比av无码| 五月开心网| 免费国产视频| 嗯嗯嗯嗯啊啊啊好紧好大| 在线视频亚洲无码| 日韩天堂av电影在线观看| 少妇被c 黄 免费观看| 日本免费不卡二区| 精品美女久久久久| 青青草五月天| 国产操操日韩三级黄| 国产欧美成人精品| 97欧美性爱| 久久久亚洲熟妇资源| 九九九九九九九精品视频| 97超碰护士| 青青草视频久久久久| 久久精品欧美一区二区三区不卡| 色天堂综合| 不卡啪啪视频| 激情一区二区| 欧美色997| av网页一区二区三区| 日本97久久| 九九无码| 一级AV性爱| 91精品少妇搡搡搡| 天天日天天爽| 日韩免费中文字幕视频| 色欲蜜臀AV| 亚洲欧美国产va在线播放频| 97在线观看视频| 六月丁香婷| 国产9熟妇视频网站| 丰满欧美少妇| 久操凹凸视频| 婷婷性网| 91亚洲欧美色图| 黄片在线免费在线观看| 中欧人妻丝袜中文字幕| 欧洲精品在线播放| 国产a级午夜毛片| 国产色产精品在线观看| 色男人色天堂东京热| 日韩成人免费电影| 啪啪性爱免费视频| 蜜臀99久久精品| 欧美日韩人人精品| 在线人人人人人人精品超| 91春色| 俞拍自拍| 国产精品视频电影| 亚洲欧美精品福利在线| 久久久久久网址| 久久9免费视频| 嫩草 我啊~嗯~在线| 中国一级αV| 骚逼自拍99| 精品人妻夜夜草| 色五月婷婷久久| 国产亚洲精品av一区| 免费在线看黄片av| 久久精品综合| 传媒免费一区二区三区| 国产乱码久久| 国产精品亚洲免费| 被男人添B超爽视频| 欧洲精品一级二级精品综合视频综合| 久久久久元码视频| 成人无码专区精品视频| 99综合视频| 中国一区二区亚洲人妻| 日本韩国国产精品一区| 另类欧美色| 欧美日韩亚洲少妇寂寞影院正在播放| 国产肏屁眼视频| 91丝袜在线观看视频在线观看| 99re在线观看| 蜜桃av综合网发布| 黄片色区软件| 亚洲精品三区在线观看| 免费视频在线一区二区不卡| 大香蕉中文在线| 欧亚 另类 久| 午夜操操操| wuyechaopeng| 97精品在线| 色老牛| 国产五码丝袜屁眼| 中文字幕亚洲欧美在线不卡| 欧美在线官网| 欧美 亚洲 制服 精品| 五月天婷婷色| 五月天婷婷基地| 五月天激情国产综合婷婷婷| 99超级碰免费视频| 夜夜草网站| 操操碰| 这里只有精品视频| 日韩精品99999| 亚洲人成网www| 天堂九九九九九九九九九| 男人的天堂2019AV| 美女尤物福利视频| 狼人综合婷婷激情四射| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 国产精品久久久久久久久AV大片| 亚洲乱码国产乱码精网站| 最新中文字幕在线亚洲| 国内毛片国产专区二| 国产情侣自拍在线播放| 国产又色又爽又舒服的三级视频| 男女一级A片大黄,一进一出| 五月婷婷激情综合| 91xingse| 日本东京热大香蕉a片| 香蕉av一区二区三区| 一本一道久久综合久久|