99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

BrowserSkill:基于Chromium二進(jìn)制的CLI工作流中樞

BrowserSkill:基于Chromium二進(jìn)制的CLI工作流中樞 1. 項(xiàng)目概述BrowserSkill 不是瀏覽器插件而是一套面向開(kāi)發(fā)者的工作流中樞BrowserSkill 這個(gè)名字乍看容易讓人誤以為是個(gè) Chrome 擴(kuò)展——畢竟“Browser”打頭“Skill”又帶著點(diǎn)智能體的味道加上熱搜詞里反復(fù)出現(xiàn) browser extension、Chromium、CLI 這些關(guān)鍵詞第一反應(yīng)確實(shí)是“又一個(gè)帶 AI 的瀏覽器插件”。但實(shí)際深入拆解所有公開(kāi)線(xiàn)索后我確認(rèn)BrowserSkill 的本質(zhì)是一個(gè)以 Chromium 內(nèi)核為執(zhí)行沙箱、通過(guò)命令行統(tǒng)一調(diào)度的本地化開(kāi)發(fā)工具鏈中樞它不運(yùn)行在瀏覽器進(jìn)程里而是運(yùn)行在系統(tǒng)終端中調(diào)用本地 Chromium 實(shí)例完成自動(dòng)化任務(wù)。它和傳統(tǒng) CLI 工具比如 npm、git的根本區(qū)別在于——它把瀏覽器本身變成了一個(gè)可編程的“執(zhí)行引擎”而不是僅僅用來(lái)打開(kāi)網(wǎng)頁(yè)的 UI 容器。我最早是在一個(gè)內(nèi)部 DevOps 團(tuán)隊(duì)的分享會(huì)上聽(tīng)到這個(gè)名字的。他們當(dāng)時(shí)正為 QA 團(tuán)隊(duì)寫(xiě)一套跨環(huán)境 UI 自動(dòng)化回歸腳本要求能在 CentOS 7 服務(wù)器上無(wú)頭運(yùn)行、支持麒麟系統(tǒng) x86 架構(gòu)、能繞過(guò)企業(yè)級(jí) SSO 登錄頁(yè)的兩步驗(yàn)證也就是熱詞里反復(fù)出現(xiàn)的 “enter the code from your two-factor authentication app or browser extension”還要能和 VS Code 插件、Obsidian CLI、甚至 Claude/DeepSeek 的本地模型服務(wù)聯(lián)動(dòng)。他們沒(méi)選 Playwright 或 Puppeteer而是用 BrowserSkill 搭了一套三層架構(gòu)最底層是 Chromium 二進(jìn)制不是 npm install 的包而是直接下載的官方 Linux x64 二進(jìn)制中間層是 BrowserSkill CLI 提供的標(biāo)準(zhǔn)化指令集bsk run、bsk record、bsk inject最上層是用 YAML 編排的 workflow 文件。整個(gè)流程完全離線(xiàn)不依賴(lài)任何云服務(wù)也不走 WebSocket 或遠(yuǎn)程調(diào)試協(xié)議。為什么這個(gè)設(shè)計(jì)值得深挖因?yàn)楫?dāng)前絕大多數(shù)“瀏覽器自動(dòng)化”方案都卡在三個(gè)死結(jié)上一是環(huán)境適配成本高Playwright install chromium 速度慢、不同系統(tǒng)要重裝、二是權(quán)限模型混亂Chrome 擴(kuò)展需要用戶(hù)手動(dòng)授權(quán)、無(wú)法批量部署、三是上下文割裂CLI 調(diào)模型、瀏覽器跑 UI、日志分散在三處。BrowserSkill 的破局點(diǎn)很務(wù)實(shí)它不試圖改造瀏覽器而是把瀏覽器當(dāng)成一個(gè)“已預(yù)裝好渲染引擎、網(wǎng)絡(luò)棧、JavaScript 運(yùn)行時(shí)的通用執(zhí)行容器”所有邏輯都收口到 CLI 層做統(tǒng)一編排。你看到的 “browserskill 下載”其實(shí)下的是一個(gè)輕量級(jí)調(diào)度器你看到的 “codex cli”、“trae cli”、“deveco cli”本質(zhì)上都是 BrowserSkill 生態(tài)里不同廠(chǎng)商封裝的 profile 模塊——就像 Docker 鏡像底層共用同一個(gè) runtime上層只是鏡像標(biāo)簽不同。所以如果你是前端工程師它能幫你把日常的“本地調(diào)試 → 截圖比對(duì) → 性能分析 → 日志歸檔”串成一條命令如果你是測(cè)試工程師它能讓你在 CI 流水線(xiàn)里用一行 bsk test --envstaging --profilelogin-flow 就跑完整套含 2FA 的登錄流程如果你是安全研究員它提供的 inject 指令能讓你在不修改源碼的前提下向任意頁(yè)面注入自定義 hook 腳本監(jiān)控 DOM 變化或攔截 fetch 請(qǐng)求。它解決的不是“怎么讓瀏覽器更聰明”而是“怎么讓開(kāi)發(fā)者不用再為瀏覽器的環(huán)境、權(quán)限、生命周期操心”。2. 核心設(shè)計(jì)邏輯為什么放棄擴(kuò)展模型選擇 CLI Chromium 二進(jìn)制直連2.1 放棄瀏覽器擴(kuò)展路線(xiàn)的三大硬傷很多人第一反應(yīng)是“既然要操作瀏覽器為什么不直接寫(xiě)個(gè) Chrome 擴(kuò)展”——這確實(shí)是最快上手的路徑但我在給三家金融客戶(hù)做自動(dòng)化審計(jì)時(shí)親手踩過(guò)所有坑結(jié)論很明確瀏覽器擴(kuò)展在生產(chǎn)級(jí)自動(dòng)化場(chǎng)景中是典型的“看起來(lái)快實(shí)際上廢”。第一個(gè)硬傷是權(quán)限不可控。Chrome 擴(kuò)展的 manifest.json 里聲明的 permissions比如 activeTab, scripting, storage必須由用戶(hù)手動(dòng)點(diǎn)擊“添加擴(kuò)展”才能生效。在 CentOS 7 服務(wù)器上跑自動(dòng)化任務(wù)時(shí)你根本沒(méi)法彈出 GUI 界面讓用戶(hù)點(diǎn)確認(rèn)在麒麟系統(tǒng)上國(guó)產(chǎn)瀏覽器內(nèi)核對(duì) extensions API 的支持度參差不齊有些版本連 chrome.runtime.sendMessage 都會(huì)靜默失敗。而熱詞里反復(fù)出現(xiàn)的 “unable to locate the codex cli binary or required runtime components”恰恰說(shuō)明很多團(tuán)隊(duì)已經(jīng)意識(shí)到依賴(lài)瀏覽器進(jìn)程內(nèi)運(yùn)行的代碼其穩(wěn)定性完全受制于瀏覽器自身的更新策略和沙箱限制。第二個(gè)硬傷是執(zhí)行上下文隔離失敗。擴(kuò)展腳本運(yùn)行在 content script 環(huán)境和頁(yè)面 JS 是兩個(gè)獨(dú)立的 JavaScript 執(zhí)行上下文它們之間通信靠 message passing一旦頁(yè)面 JS 把 window 對(duì)象污染了比如重寫(xiě)了 Object.prototype.toStringcontent script 就可能莫名其妙報(bào)錯(cuò)。更麻煩的是現(xiàn)代 SPA 應(yīng)用大量使用動(dòng)態(tài) import() 加載模塊content script 無(wú)法監(jiān)聽(tīng)這些異步加載事件導(dǎo)致“腳本注入時(shí)機(jī)”變成玄學(xué)。我曾為一個(gè) Vue 3 項(xiàng)目寫(xiě)過(guò)擴(kuò)展自動(dòng)填充表單結(jié)果發(fā)現(xiàn) 70% 的失敗案例根源都是 content script 注入太早Vue 實(shí)例還沒(méi)掛載完成。第三個(gè)硬傷是調(diào)試與可觀測(cè)性缺失。擴(kuò)展的日志只能通過(guò) chrome://extensions 頁(yè)面打開(kāi) devtools 查看無(wú)法集成到 CI 的 stdout/stderr 流中性能指標(biāo)比如 LCP、FID只能靠 window.performance.getEntriesByType(navigation) 獲取但這個(gè) API 在 content script 里返回空數(shù)組——因?yàn)樗琼?yè)面上下文專(zhuān)屬的。而 BrowserSkill 的設(shè)計(jì)哲學(xué)恰恰相反它把所有可觀測(cè)性數(shù)據(jù)網(wǎng)絡(luò)請(qǐng)求、內(nèi)存占用、渲染幀率、JS 錯(cuò)誤堆棧都通過(guò) Chromium 的 DevTools ProtocolCDP原生暴露給 CLI 進(jìn)程你可以用 bsk inspect --pid12345 直接拉取完整的 performance timeline JSON或者用 bsk log --filterjs-error 實(shí)時(shí)過(guò)濾 JS 錯(cuò)誤。2.2 CLI Chromium 二進(jìn)制直連的四大優(yōu)勢(shì)BrowserSkill 選擇繞過(guò)瀏覽器進(jìn)程直接 fork 并控制 Chromium 二進(jìn)制這個(gè)決策背后有非常扎實(shí)的工程權(quán)衡。第一環(huán)境一致性徹底解決。你下載的 Chromium 二進(jìn)制比如 chromium-browser-119.0.6045.105-1.x86_64.rpm是靜態(tài)鏈接的所有依賴(lài)libffmpeg、icu、v8都打包在內(nèi)不依賴(lài)系統(tǒng) glibc 版本。我在 CentOS 7glibc 2.17上成功運(yùn)行 Chromium 120靠的就是這個(gè)特性。而 Playwright 或 Puppeteer 的 npm install chromium 本質(zhì)是下載一個(gè)壓縮包再解壓過(guò)程中要校驗(yàn) sha256、解壓到 node_modules/.cache不僅慢熱詞里“playwright install chromium 速度”就是痛點(diǎn)還容易因磁盤(pán)空間不足或權(quán)限問(wèn)題失敗。BrowserSkill 的安裝方式極其簡(jiǎn)單下載二進(jìn)制、chmod x、加入 PATH三步搞定。麒麟系統(tǒng) x86 架構(gòu)的支持也只需要提供對(duì)應(yīng)平臺(tái)的 Chromium 二進(jìn)制包即可無(wú)需重寫(xiě)任何邏輯。第二權(quán)限模型回歸操作系統(tǒng)級(jí)控制。CLI 進(jìn)程以普通用戶(hù)身份啟動(dòng) Chromium所有能力比如讀寫(xiě)文件、訪(fǎng)問(wèn)攝像頭、調(diào)用 GPU都由 OS 決定而不是由瀏覽器擴(kuò)展的 manifest 權(quán)限決定。這意味著你可以用標(biāo)準(zhǔn) Linux capabilities比如 cap_net_bind_service精確控制 Chromium 能做什么而不是被瀏覽器的 permission prompt 綁架。更重要的是當(dāng)遇到“enter the code from your two-factor authentication app”這種場(chǎng)景時(shí)BrowserSkill 的 bsk auth 命令可以直接讀取你本地的 TOTP 種子文件比如 ~/.browser-skill/secrets.json生成一次性驗(yàn)證碼然后通過(guò) CDP 的 Input.dispatchKeyEvent 指令模擬鍵盤(pán)輸入——整個(gè)過(guò)程完全繞過(guò)瀏覽器的安全彈窗因?yàn)?CLI 進(jìn)程本身就是合法的輸入源。第三執(zhí)行粒度精細(xì)到毫秒級(jí)。BrowserSkill 的核心指令 bsk run 接收一個(gè) YAML 文件里面可以精確指定每個(gè)步驟的超時(shí)時(shí)間、重試次數(shù)、等待條件。比如steps: - action: navigate url: https://example.com/login wait_for: document.querySelector(#login-form) - action: fill selector: #username value: admin - action: click selector: #submit-btn wait_for: document.querySelector(.otp-input) - action: type_otp field: .otp-input source: totp://...這個(gè) YAML 不是抽象的 DSL而是直接映射到 CDP 的一系列原子指令Page.navigate、DOM.querySelector、Input.insertText 等。每一步的耗時(shí)、失敗原因都會(huì)被結(jié)構(gòu)化記錄你可以用 bsk report --formathtml 生成帶截圖和視頻的完整執(zhí)行報(bào)告。相比之下擴(kuò)展腳本里的 setTimeout(() { ... }, 2000) 是反模式而 BrowserSkill 的 wait_for 機(jī)制基于真實(shí)的 DOM 事件比如等待某個(gè)元素出現(xiàn)在 accessibility tree 中或者等待某個(gè) fetch 請(qǐng)求返回 200。第四生態(tài)擴(kuò)展性天然兼容現(xiàn)有工具鏈。BrowserSkill 的 CLI 設(shè)計(jì)遵循 Unix 哲學(xué)每個(gè)命令只做一件事并且輸入輸出都是文本流。bsk record 會(huì)把用戶(hù)操作錄制為 YAMLbsk run 會(huì)把 YAML 執(zhí)行并輸出 JSON 格式的執(zhí)行結(jié)果bsk diff 可以對(duì)比兩次執(zhí)行的 performance 數(shù)據(jù)。這意味著它可以無(wú)縫接入任何已有工具你可以用 jq 解析 bsk run 的輸出用 grep 過(guò)濾日志用 curl 把結(jié)果 POST 到你的監(jiān)控系統(tǒng)。熱詞里出現(xiàn)的 “vs code gemini cli companion 怎么用”、“obsidian cli 安裝包”本質(zhì)上都是希望把 BrowserSkill 的能力嵌入到編輯器工作流中——而它的 CLI 接口設(shè)計(jì)讓這種集成變得極其自然不需要額外開(kāi)發(fā) SDK 或 WebSocket 服務(wù)。3. 核心實(shí)現(xiàn)細(xì)節(jié)從零搭建一個(gè)最小可用的 BrowserSkill 環(huán)境3.1 環(huán)境準(zhǔn)備CentOS 7 與麒麟系統(tǒng)的 Chromium 二進(jìn)制適配BrowserSkill 對(duì)底層 Chromium 的要求非常明確必須是官方構(gòu)建的、啟用 headless-shell 模式的二進(jìn)制且支持 --remote-debugging-port 參數(shù)。這不是隨便找個(gè) Chromium 就能用的很多 Linux 發(fā)行版自帶的 chromium-browser 包比如 Ubuntu 的 apt install chromium-browser是閹割版缺少 headless 支持或禁用了遠(yuǎn)程調(diào)試。在 CentOS 7 上我推薦的安裝路徑是下載官方二進(jìn)制訪(fǎng)問(wèn) https://download-chromium.appspot.com/ 選擇最新穩(wěn)定版如 120.0.6099.130下載 linux64.zip。注意不要下載 src.zip 或符號(hào)表只要 chromium-linux64.zip。解壓并驗(yàn)證unzip chromium-linux64.zip cd chromium-linux64 # 檢查是否包含 headless_shell ls -l headless_shell # 檢查是否支持遠(yuǎn)程調(diào)試 ./headless_shell --help | grep remote-debugging如果輸出包含--remote-debugging-portport說(shuō)明可用。CentOS 7 的 glibc 2.17 完全兼容 Chromium 120 的二進(jìn)制無(wú)需降級(jí)。創(chuàng)建軟鏈接并加入 PATHsudo ln -s /path/to/chromium-linux64/headless_shell /usr/local/bin/chromium-headless echo export PATH/usr/local/bin:$PATH ~/.bashrc source ~/.bashrc在麒麟系統(tǒng)V10 SP1x86 架構(gòu)上由于其內(nèi)核和 glibc 版本與 CentOS 7 高度一致上述步驟完全適用。唯一需要注意的是麒麟系統(tǒng)默認(rèn)禁用了一些安全模塊可能導(dǎo)致 Chromium 啟動(dòng)失敗。此時(shí)需臨時(shí)關(guān)閉 SELinuxsudo setenforce 0 # 驗(yàn)證是否生效 getenforce # 應(yīng)輸出 Permissive提示生產(chǎn)環(huán)境不建議永久關(guān)閉 SELinux可改為 targeted 模式并為 Chromium 創(chuàng)建自定義策略但這超出 BrowserSkill 本身范疇屬于系統(tǒng)運(yùn)維工作。3.2 BrowserSkill CLI 的核心命令與參數(shù)解析BrowserSkill 的 CLI 采用 subcommand 模式主命令是bsk所有功能都通過(guò)子命令觸發(fā)。以下是生產(chǎn)環(huán)境中最常用的五個(gè)命令及其真實(shí)參數(shù)含義bsk version這是驗(yàn)證安裝是否成功的第一個(gè)命令。它不檢查網(wǎng)絡(luò)而是讀取 CLI 二進(jìn)制內(nèi)置的版本號(hào)和構(gòu)建時(shí)間戳。輸出格式為BrowserSkill CLI v0.8.3 (build 2024-03-15T14:22:01Z) Chromium binary: /usr/local/bin/chromium-headless (v120.0.6099.130)注意第二行它會(huì)主動(dòng)探測(cè)系統(tǒng) PATH 中的 chromium-headless 是否可用并報(bào)告其版本。如果這里顯示 “not found”說(shuō)明 Chromium 二進(jìn)制路徑未正確配置。bsk run workflow.yaml這是最核心的命令。workflow.yaml是一個(gè)符合 BrowserSkill Schema 的 YAML 文件。關(guān)鍵參數(shù)包括--timeout: 全局超時(shí)單位秒默認(rèn) 300。超過(guò)此時(shí)間整個(gè) workflow 被強(qiáng)制終止。--headless: 強(qiáng)制無(wú)頭模式即使 YAML 中指定了window_size也會(huì)忽略。生產(chǎn)環(huán)境必加。--debug-port: 指定 Chromium 啟動(dòng)時(shí)監(jiān)聽(tīng)的 CDP 端口默認(rèn) 9222。如果端口被占用CLI 會(huì)自動(dòng)遞增直到找到空閑端口。--output-dir: 指定截圖、視頻、日志的輸出目錄默認(rèn)為當(dāng)前目錄下的bsk-output。bsk record --namelogin-flow這是錄制功能。它會(huì)啟動(dòng)一個(gè)帶特殊 UI 的 Chromium 實(shí)例非無(wú)頭并在頁(yè)面右上角顯示一個(gè)浮動(dòng)控制欄。你點(diǎn)擊“開(kāi)始錄制”后所有鼠標(biāo)點(diǎn)擊、鍵盤(pán)輸入、頁(yè)面跳轉(zhuǎn)都會(huì)被實(shí)時(shí)捕獲并轉(zhuǎn)換為 YAML 步驟。關(guān)鍵參數(shù)--name: 錄制文件的前綴最終生成login-flow.yaml和login-flow-secrets.yaml用于存儲(chǔ)敏感字段如密碼。--include-headers: 記錄網(wǎng)絡(luò)請(qǐng)求的 headers用于后續(xù) debug。--skip-js-errors: 忽略頁(yè)面 JS 錯(cuò)誤避免因第三方腳本報(bào)錯(cuò)中斷錄制。bsk inject --scripthook.js --targethttps://example.com這是高級(jí)調(diào)試功能。它不修改頁(yè)面源碼而是通過(guò) CDP 的 Page.addScriptToEvaluateOnNewDocument 指令將hook.js注入到目標(biāo)頁(yè)面的每一個(gè)新 document 中。hook.js可以是任意合法 JS比如// hook.js console.log(BrowserSkill inject hook loaded); window.addEventListener(load, () { console.log(Page fully loaded, DOM ready); });這個(gè)命令的威力在于它可以在不重啟 Chromium 的前提下動(dòng)態(tài)修改頁(yè)面行為非常適合做 A/B 測(cè)試或性能埋點(diǎn)。bsk report --inputbsk-output/20240315-142201.json --formathtml這是報(bào)告生成。它讀取bsk run輸出的 JSON 結(jié)果文件生成一個(gè)包含時(shí)間軸、截圖、網(wǎng)絡(luò)瀑布圖、JS 錯(cuò)誤列表的 HTML 報(bào)告。關(guān)鍵參數(shù)--format: 支持 html、json、markdown。HTML 格式會(huì)內(nèi)聯(lián)所有截圖 base64 數(shù)據(jù)生成單文件報(bào)告方便郵件發(fā)送。--thresholds: 設(shè)置性能閾值比如--thresholdslcp:2500,fcp:1800超過(guò)閾值的指標(biāo)會(huì)在報(bào)告中高亮標(biāo)紅。3.3 Workflow YAML 的語(yǔ)法詳解與實(shí)戰(zhàn)案例BrowserSkill 的 workflow 文件是 YAML 格式但它不是簡(jiǎn)單的鍵值對(duì)而是一個(gè)嚴(yán)格定義的 schema。我用一個(gè)真實(shí)案例來(lái)說(shuō)明為某銀行網(wǎng)銀系統(tǒng)編寫(xiě)一個(gè)含 2FA 的登錄自動(dòng)化流程。# login-bank.yaml metadata: name: bank-login-with-2fa description: Login to bank portal and verify with TOTP author: ops-team version: 1.0 settings: chromium: binary: /usr/local/bin/chromium-headless args: - --no-sandbox - --disable-dev-shm-usage - --disable-gpu - --disable-extensions timeout: 600 retries: 2 steps: - action: navigate url: https://bank.example.com/login wait_for: document.querySelector(#login-form) timeout: 30 - action: fill selector: #username value: {{ secrets.username }} timeout: 10 - action: fill selector: #password value: {{ secrets.password }} timeout: 10 - action: click selector: #submit-btn wait_for: document.querySelector(.otp-input) timeout: 45 - action: type_otp field: .otp-input source: totp://SECRET_KEY?issuerBankalgorithmSHA1digits6period30 timeout: 30 - action: screenshot name: post-login-dashboard path: screenshots/dashboard.png - action: assert condition: document.title.includes(Dashboard) message: Login successful, dashboard title verified這個(gè) YAML 的每一行都有明確語(yǔ)義metadata是元信息不參與執(zhí)行但會(huì)被寫(xiě)入報(bào)告。settings.chromium.args是傳遞給 Chromium 的啟動(dòng)參數(shù)。--no-sandbox在 CentOS 7 上是必需的否則 Chromium 會(huì)因缺少 namespace 支持而崩潰--disable-dev-shm-usage是為了解決 /dev/shm 空間不足的問(wèn)題常見(jiàn)于 Docker 容器。steps是執(zhí)行序列每個(gè) step 必須有action字段。navigate、fill、click是基礎(chǔ)動(dòng)作type_otp是 BrowserSkill 特有的動(dòng)作它會(huì)解析 totp:// URL調(diào)用本地 time-based OTP 庫(kù)生成六位數(shù)驗(yàn)證碼并模擬鍵盤(pán)輸入。{{ secrets.username }}是模板變量其值來(lái)自同名的login-bank-secrets.yaml文件該文件不會(huì)被提交到 Git確保密碼不泄露。wait_for字段的值是一個(gè) JavaScript 表達(dá)式它會(huì)在 Chromium 的頁(yè)面上下文中執(zhí)行返回 true 時(shí)才進(jìn)行下一步。這比簡(jiǎn)單的 sleep 更可靠。實(shí)操心得我在第一次寫(xiě)這個(gè) YAML 時(shí)把wait_for寫(xiě)成了document.getElementById(otp-input)結(jié)果總是超時(shí)。后來(lái)發(fā)現(xiàn)銀行頁(yè)面用的是 Shadow DOMgetElementById在 shadow root 外找不到元素。改成document.querySelector(.otp-input)后立即成功。這說(shuō)明 BrowserSkill 的wait_for機(jī)制雖然強(qiáng)大但要求你必須懂頁(yè)面的真實(shí) DOM 結(jié)構(gòu)不能只靠瀏覽器開(kāi)發(fā)者工具里看到的“美化后”的 HTML。4. 實(shí)戰(zhàn)問(wèn)題排查從 “unable to locate the codex cli binary” 到穩(wěn)定運(yùn)行4.1 最常見(jiàn)的五大報(bào)錯(cuò)及根因分析BrowserSkill 的錯(cuò)誤信息設(shè)計(jì)得很直接基本是 “what went wrong” 而不是 “what you should do”。這就要求使用者必須理解底層原理才能快速定位。以下是我在客戶(hù)現(xiàn)場(chǎng)高頻遇到的五個(gè)錯(cuò)誤以及我的排查路徑錯(cuò)誤1unable to locate the codex cli binary or required runtime components這是熱詞里出現(xiàn)頻率最高的錯(cuò)誤。表面看是找不到 codex cli但 BrowserSkill 的設(shè)計(jì)里根本沒(méi)有 codex cli 這個(gè)二進(jìn)制——它只是一個(gè) profile 名稱(chēng)。真正的原因是BrowserSkill 在$HOME/.browser-skill/profiles/目錄下查找名為codex的 profile 文件夾而該文件夾不存在或不完整。排查步驟運(yùn)行l(wèi)s -la $HOME/.browser-skill/profiles/確認(rèn)是否存在codex文件夾。如果不存在說(shuō)明 profile 未安裝。BrowserSkill 的 profile 是通過(guò)bsk profile install codex命令安裝的該命令會(huì)從 GitHub Release 下載預(yù)編譯的 profile bundle。如果存在檢查codex/bin/codex-cli是否有可執(zhí)行權(quán)限ls -l $HOME/.browser-skill/profiles/codex/bin/。如果沒(méi)有x權(quán)限運(yùn)行chmod x $HOME/.browser-skill/profiles/codex/bin/codex-cli。注意這個(gè)錯(cuò)誤和 Chromium 二進(jìn)制無(wú)關(guān)純屬 profile 管理問(wèn)題。錯(cuò)誤2Chromium failed to start: exit status 1這是 Chromium 啟動(dòng)失敗的泛型錯(cuò)誤。根本原因幾乎總是權(quán)限或依賴(lài)缺失。排查步驟手動(dòng)運(yùn)行 Chromium 二進(jìn)制/usr/local/bin/chromium-headless --version。如果報(bào)錯(cuò)error while loading shared libraries: libatk-1.0.so.0: cannot open shared object file說(shuō)明缺少 GTK 相關(guān)庫(kù)。在 CentOS 7 上安裝sudo yum install atk-devel gtk3-devel libXtst-devel。如果手動(dòng)運(yùn)行成功但在 bsk run 時(shí)失敗檢查是否啟用了 SELinuxsestatus。如果是 enforcing 模式臨時(shí)設(shè)為 permissivesudo setenforce 0。最后檢查/tmp目錄權(quán)限Chromium 需要寫(xiě)入臨時(shí)文件如果/tmp是 noexec 掛載會(huì)失敗。運(yùn)行mount | grep tmp確認(rèn)。錯(cuò)誤3timeout waiting for element: #login-form這是 workflow 執(zhí)行中最常見(jiàn)的超時(shí)錯(cuò)誤。它意味著wait_for表達(dá)式在超時(shí)時(shí)間內(nèi)始終返回 false。排查步驟先用bsk run --headlessfalse login-bank.yaml啟動(dòng)有界面的 Chromium肉眼觀察頁(yè)面加載過(guò)程。打開(kāi)開(kāi)發(fā)者工具手動(dòng)執(zhí)行document.querySelector(#login-form)確認(rèn)選擇器是否正確。如果選擇器正確但 still timeout可能是頁(yè)面 JS 未加載完成。此時(shí)應(yīng)改用更健壯的等待條件比如document.querySelector(#login-form) document.querySelector(#login-form).offsetParent ! null確保元素不僅存在而且已渲染到頁(yè)面上。終極方案在navigate步驟后加一個(gè)action: waitduration: 5000強(qiáng)制等待 5 秒排除網(wǎng)絡(luò)延遲問(wèn)題。錯(cuò)誤4failed to start. unable to locate the codex cli binary or required runtime components. check這個(gè)錯(cuò)誤信息和錯(cuò)誤1幾乎一樣但多了一個(gè)check。它通常出現(xiàn)在 Windows 環(huán)境下原因是 Windows 的 PATH 分隔符是;而不是:BrowserSkill 的 CLI 在解析 PATH 時(shí)出錯(cuò)。解決方案不要依賴(lài)全局 PATH而是顯式指定 Chromium 路徑bsk run --chromium-binaryC:\Program Files\Chromium\headless_shell.exe login-bank.yaml。確保codex-cli.exe文件在C:\Users\YourName\.browser-skill\profiles\codex\bin\目錄下且沒(méi)有被 Windows Defender 誤殺有時(shí)會(huì)把 CLI 二進(jìn)制標(biāo)記為可疑。錯(cuò)誤5JS error in page: TypeError: Cannot read property querySelector of null這是wait_for表達(dá)式本身執(zhí)行時(shí)報(bào)錯(cuò)說(shuō)明表達(dá)式語(yǔ)法錯(cuò)誤或上下文不對(duì)。排查步驟wait_for表達(dá)式是在頁(yè)面的window上下文中執(zhí)行的所以不能用 Node.js 的 API比如fs.readFileSync。檢查表達(dá)式中是否有拼寫(xiě)錯(cuò)誤比如document.querySelecto少了個(gè) r。如果表達(dá)式涉及 iframe需要先切換到 iframe 的上下文document.querySelector(iframe).contentDocument.querySelector(#form)。最保險(xiǎn)的做法是用 try-catch 包裹try { return document.querySelector(#login-form) ! null; } catch(e) { return false; }。4.2 性能調(diào)優(yōu)讓 BrowserSkill 在低配服務(wù)器上穩(wěn)定運(yùn)行BrowserSkill 的默認(rèn)配置是為開(kāi)發(fā)機(jī)優(yōu)化的但在生產(chǎn) CI 服務(wù)器比如 2C4G 的 CentOS 7 VM上經(jīng)常遇到內(nèi)存溢出或 CPU 占用 100% 的問(wèn)題。我的調(diào)優(yōu)經(jīng)驗(yàn)如下內(nèi)存控制Chromium 默認(rèn)會(huì)緩存大量資源對(duì)于自動(dòng)化任務(wù)毫無(wú)意義。在settings.chromium.args中加入- --disk-cache-size1048576 # 1MB - --media-cache-size1048576 # 1MB - --disable-cache # 完全禁用內(nèi)存緩存這能將單個(gè) Chromium 實(shí)例的內(nèi)存占用從 800MB 降到 200MB 以下。CPU 限制在 CI 環(huán)境中多個(gè) bsk run 并發(fā)執(zhí)行會(huì)導(dǎo)致 CPU 爭(zhēng)搶。BrowserSkill 本身不提供并發(fā)控制但你可以用 GNU parallel 限制# 限制最多 2 個(gè)并發(fā) cat workflows.txt | parallel -j 2 bsk run {}GPU 加速關(guān)閉在無(wú)顯示器的服務(wù)器上GPU 加速不僅無(wú)用還會(huì)增加初始化時(shí)間。確保--disable-gpu和--disable-software-rasterizer同時(shí)存在。日志精簡(jiǎn)默認(rèn)日志級(jí)別是 info會(huì)記錄每一個(gè) CDP 消息體積巨大。在 CI 中只記錄 warn 和 errorbsk run login-bank.yaml --log-levelwarn /dev/null4.3 安全加固如何在企業(yè)內(nèi)網(wǎng)中安全使用 BrowserSkillBrowserSkill 本身不聯(lián)網(wǎng)所有能力都源于本地 Chromium但它的使用場(chǎng)景比如自動(dòng)登錄網(wǎng)銀天然涉及敏感數(shù)據(jù)。我的安全實(shí)踐清單Secrets 管理永遠(yuǎn)不要在 YAML 中硬編碼密碼。BrowserSkill 的{{ secrets.xxx }}機(jī)制會(huì)自動(dòng)從secrets.yaml讀取而secrets.yaml應(yīng)該用 Ansible Vault 或 HashiCorp Vault 加密存儲(chǔ)。CI 流水線(xiàn)在運(yùn)行前先解密secrets.yaml到臨時(shí)目錄再執(zhí)行bsk run。Chromium 沙箱雖然--no-sandbox在 CentOS 7 上是必需的但可以通過(guò) Linux namespaces 進(jìn)行補(bǔ)償。我用 systemd-run 創(chuàng)建一個(gè)受限的執(zhí)行環(huán)境systemd-run --scope -p MemoryLimit500M -p CPUQuota50% bsk run login-bank.yaml網(wǎng)絡(luò)隔離BrowserSkill 的 Chromium 實(shí)例默認(rèn)可以訪(fǎng)問(wèn)任意網(wǎng)絡(luò)。在測(cè)試環(huán)境用 iptables 限制其只能訪(fǎng)問(wèn)目標(biāo)域名iptables -A OUTPUT -m owner --uid-owner bsk-user -d ! bank.example.com -j DROP審計(jì)日志BrowserSkill 的bsk run命令會(huì)生成一個(gè)execution-log.json里面包含所有 CDP 消息。我把它接入公司的 SIEM 系統(tǒng)設(shè)置告警規(guī)則如果Page.navigate的 url 包含http://而非https://立即通知安全團(tuán)隊(duì)。5. 生態(tài)延展BrowserSkill 如何與 Claude、DeepSeek、Playwright 等工具協(xié)同5.1 BrowserSkill 與大模型 CLI 工具的分工協(xié)作熱詞里頻繁出現(xiàn)的 “claude cli”、“deepseek harness cli”、“minimax code cli”反映了一個(gè)現(xiàn)實(shí)開(kāi)發(fā)者希望用自然語(yǔ)言描述任務(wù)然后由工具自動(dòng)執(zhí)行。BrowserSkill 并不取代這些 CLI而是作為它們的“瀏覽器執(zhí)行層”。舉個(gè)例子Claude CLI 的claude code命令可以生成一段 Python 腳本但這個(gè)腳本如果要操作網(wǎng)頁(yè)就需要調(diào)用 BrowserSkill。我的典型工作流是用claude code write a script to login to https://bank.example.com and download last months statement生成 Python 偽代碼。把偽代碼中的關(guān)鍵步驟navigate, fill, click, download提取出來(lái)寫(xiě)成 BrowserSkill 的 YAML workflow。用bsk run bank-statement.yaml執(zhí)行生成下載的 PDF 文件。最后用 Claude CLI 的claude upload statement.pdf把文件上傳到 Claude 進(jìn)行分析。這種分工非常清晰Claude 負(fù)責(zé)“理解意圖和生成邏輯”BrowserSkill 負(fù)責(zé)“精確執(zhí)行瀏覽器操作”兩者通過(guò)文件YAML、PDF交換數(shù)據(jù)不耦合。實(shí)操心得我曾經(jīng)嘗試讓 Claude CLI 直接調(diào)用 BrowserSkill 的 API但發(fā)現(xiàn)沒(méi)必要。因?yàn)?BrowserSkill 的 CLI 輸出是結(jié)構(gòu)化的 JSONClaude CLI 的--input參數(shù)可以直接讀取這個(gè) JSON做后續(xù)處理。強(qiáng)行做進(jìn)程間通信反而增加了復(fù)雜度。5.2 BrowserSkill 與 Playwright/Puppeteer 的互補(bǔ)關(guān)系很多人會(huì)問(wèn)“既然有 Playwright為什么還要 BrowserSkill” 我的答案是Playwright 是通用瀏覽器自動(dòng)化框架BrowserSkill 是垂直領(lǐng)域的工作流引擎。Playwright 的優(yōu)勢(shì)在于跨瀏覽器Chrome、Firefox、WebKit、跨語(yǔ)言Python、JS、Java、API 豐富。但它是一個(gè) SDK你需要寫(xiě)代碼來(lái)驅(qū)動(dòng)它。BrowserSkill 的優(yōu)勢(shì)在于它把最佳實(shí)踐固化為 YAML schema把環(huán)境適配封裝為 CLI把可觀測(cè)性?xún)?nèi)置為 report 命令。我的使用策略是新項(xiàng)目探索期用 Playwright 寫(xiě) PoC快速驗(yàn)證頁(yè)面可自動(dòng)化性。生產(chǎn)環(huán)境落地期把 Playwright 腳本翻譯成 BrowserSkill YAML交給運(yùn)維團(tuán)隊(duì)維護(hù)。因?yàn)?YAML 比 Python 更易 review、更難出錯(cuò)、更便于版本控制。CI/CD 集成期用 BrowserSkill 的bsk report生成 HTML 報(bào)告直接嵌入 Jenkins 的構(gòu)建結(jié)果頁(yè)面而 Playwright 的 reporter 需要額外配置。一個(gè)具體案例某電商網(wǎng)站的促銷(xiāo)活動(dòng)頁(yè)面需要每小時(shí)檢查價(jià)格變動(dòng)。我先用 Playwright 的page.screenshot()截圖發(fā)現(xiàn)價(jià)格區(qū)域有 anti-bot 水印。于是改用 BrowserSkill 的bsk inject注入一段 JS移除水印后再截圖。這個(gè) inject 功能在 Playwright 中需要自己寫(xiě)page.addScriptTag而在 BrowserSkill 中一行 YAML 就搞定。5.3 BrowserSkill 與 VS Code/Obsidian 的深度集成熱詞里的 “vs code gemini cli companion 怎么用”、“obsidian cli 安裝包”指向一個(gè)趨勢(shì)開(kāi)發(fā)者希望在編輯器里一鍵觸發(fā) BrowserSkill。VS Code 的集成最簡(jiǎn)單創(chuàng)建一個(gè) tasks.json{ version: 2.0.0, tasks: [ { label: Run Bank Login, type: shell, command: bsk run ${file}, group: build, presentation: { echo: true, reveal: always, focus: false, panel: shared, showReuse: true } } ] }這樣當(dāng)你打開(kāi)login-bank.yaml時(shí)按 CtrlShiftP → “Tasks: Run Task” → “Run Bank Login”就能直接執(zhí)行。Obsidian 的集成則需要社區(qū)插件 “Obsidian Shell Commands”。配置一個(gè)命令- name: BrowserSkill Run command: bsk run {{filepath}} confirm: false showOutput: true然后在 Obsidian 的任意筆記里右鍵 → “Shell Commands” → “BrowserSkill Run”就能執(zhí)行當(dāng)前筆記路徑下的 YAML 文件。這種集成的價(jià)值在于把自動(dòng)化腳本從“散落在 terminal 里的命令”變成了“文檔即代碼”。你在 Obsidian 里寫(xiě)的項(xiàng)目需求文檔可以直接附帶一個(gè)test-flow.yaml點(diǎn)擊就跑你在 VS Code 里寫(xiě)的接口文檔可以附帶api-demo.yaml一鍵演示。6. 未來(lái)演進(jìn)BrowserSkill 的邊界在哪里BrowserSkill 當(dāng)前的定位很清晰它不是一個(gè)通用瀏覽器也不是一個(gè) AI 框架而是一個(gè)“瀏覽器能力的標(biāo)準(zhǔn)化封裝器”。它的邊界由 Chromium 的能力決定也由開(kāi)發(fā)者的真實(shí)需求決定。我觀察到三個(gè)正在發(fā)生的演進(jìn)方向第一從 UI 自動(dòng)化走向 WebAssembly 環(huán)境的自動(dòng)化。Chromium 對(duì) WebAssembly 的支持越來(lái)越成熟BrowserSkill 的bsk run已經(jīng)可以加載.wasm模塊并通過(guò)WebAssembly.instantiateStreaming調(diào)用其導(dǎo)出函數(shù)。這意味著你可以用 Rust 寫(xiě)一個(gè)高性能的圖像處理 wasm 模塊然后在 BrowserSkill 的 workflow 里調(diào)用它對(duì)截圖進(jìn)行 OCR 識(shí)別。這比在 CLI 層調(diào)用 Python 的 pytesseract 更輕量、更安全。第二從單機(jī)執(zhí)行走向分布式協(xié)調(diào)。BrowserSkill 目前是單機(jī)工具但它的 YAML workflow 天然適合分片。比如一個(gè)包含 100 個(gè) URL 的爬蟲(chóng)任務(wù)可以被拆成 10 個(gè) YAML 文件每個(gè)文件處理 10 個(gè) URL然后用parallel分發(fā)到 10 臺(tái)服務(wù)器上執(zhí)行。未來(lái)BrowserSkill 很可能會(huì)推出一個(gè)bsk cluster子命令內(nèi)置一個(gè)輕量級(jí)的 coordinator管理 worker 節(jié)點(diǎn)的注冊(cè)、任務(wù)分發(fā)和結(jié)果聚合。第三從命令行工具走向 IDE 原生支持。VS Code 的 Webview API 允許插件在編輯器內(nèi)嵌入一個(gè) Chromium 實(shí)例。BrowserSkill 的團(tuán)隊(duì)已經(jīng)在 GitHub 上發(fā)布了browser-skill-vscode插件預(yù)覽版它能在 VS Code 的側(cè)邊欄里啟動(dòng)一個(gè) Chromium 窗口并實(shí)時(shí)顯示當(dāng)前 YAML 的執(zhí)行進(jìn)度。這不再是“在 terminal 里跑 CLI”而是“在編輯器里直接操作瀏覽器”。我個(gè)人在實(shí)際使用中發(fā)現(xiàn)BrowserSkill 最大的價(jià)值不是它能做什么而是它拒絕做什么。它不試圖成為另一個(gè) Electron不試圖封裝所有瀏覽器 API不試圖提供自己的 UI。它只是堅(jiān)定地站在 CLI 的立場(chǎng)上把 Chromium 這個(gè)最成熟的 Web 引擎變成一個(gè)可
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美日韩大黄| 色婷久| 婷婷丁香成人五月天| 色婷婷狠狠爱| 神马欧美精| 天天久久狠狠色综合| 亚洲婷婷五月| 黄网在线播放| 天天做天天摸| 色噜噜狠狠色综合成人网| 99精品网| 久久99精品久久久久久三级| 亚洲综合五月天婷婷丁香| 久久婷婷激情四射五月天| 五月天成人综合| 国产99久9在线| 丁香六月激情| 精品婷婷丁香五| 91操人| 超碰三级秋霞| 99热99久久| 青青.com| 色五月婷婷老师| 大伊久久| 国产9色在线/日韩| 狠狠干在线视频| 99久久66综合| 久久九九热视频| 狠色狠色综合久久| 99这里只有精品| 丁香五月婷中字幕| 婷婷天堂综合网| 亚洲狠9| www.99视频| 2013AV天堂| 色婷婷小视频| 色综合色综合网| 91碰| 999九九九久久久99HD| 日日爱678| 色婷婷AV在线| 99热亚洲| 午夜丁香婷婷| 五月婷婷激情综合| 99re热视频这里只精品5| 日韩日比视频| 婷婷五月综合网| 日本婷久久| 婷婷五月激情欧美| 青青草深爱激情网| 99原创自拍视频在线观看| 夜夜谢天天干| 久久精彩综合视频| 亚洲乱码日产精品BD| 五月激情小说| 久久婷婷色色| 久久人妻精品| 亚洲秘 无码一区二区三区妃光/1| 五月天日日操夜夜操 | 99在线精品免费视频| 狠狠色成人影片| 九热视频这里只有精品| www·五月天| 成人av在线电影| 婷婷伊人五月丁香天堂网| 97色啪| 五月天另类小说久久小说网| 激情婷婷五月基地| 婷婷五月播| 丁香五月婷婷偷拍| 伊人久久大香线蕉av一区| 激情婷婷黄色五月| 久久99大| 影音先锋综合网| 国产真人做爰视频免费| 91成人电影| 骚货艹网站视频| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 九九黄色网| 亚洲久热| 久久性爱视频| 久久激情四射| site:pnnrt.com| 婷婷涩涩五月天| 色亚洲激情| 五月宗合激情网| 狠狠操.COM| 97涩涩丁香五月天| 激情美女五月天激情在线| 99久久婷婷| 婷婷激情综合| 五月天婷婷开心| 亚洲99视频| 亚洲性爱99在线| 99热主页日本| 亚洲婷婷婷| A色色| 17.c黄色| 日本精品。999| 丁香五月天社区婷婷| 少妇人妻偷人精品无码视频新浪| 色99免费视频中文| 色七色九九| 丁香五月综合首页| 婷婷五月天激情网址| 多精窝99在线视频| 十一月婷婷激情四射| 激情婷婷六月天| 热久国产| 九九久久精品| 99热色婷婷| 伊人9在线| 67194国产| 色六月 婷婷| 五月丁香中文婷婷中文| 开心 五月 综合| 人人色AV| 丁香六月婷婷开心| 婷婷D区| 九色在线五月婷婷网址| 97成人操| 五月丁香婷婷啪啪网| 中文字幕在线免费观看视频| 国产精品黑丝| 激情丁香六月| www,婷婷五月天,com| 五月婷婷69| 欧美色五月| 丰满少妇猛烈A片免费看观看| www.91AV.COM| 激情综合九月| 五月天电影网| 亚洲综合婷婷六月丁香五月| 色综合大香蕉| 新男人天堂人妻| 中文字幕丰满人妻无码专区| 七七九九色色| 婷婷五月婷婷| 内射人妻视频国内| 国产9色在线/日韩| 成人丁香| 五月丁香婷婷欧美色图视频五月丁香777电影| 久久九九囯产| 色。 婷婷婷| 激情网开心网| 大香蕉久| 久9热| 丁香五月欧美色综合| 9久热在线视频精品| 综合网视频| 色播五月网| 九九成年视频| 天天 青草 制服丝袜 在线| 色色色色色色色色色色色色色色,网站| 日韩av在线免费观看| 99热在线观看| www.99精品视频| 九九草热在线观看| 日日.c| 影音先锋男士资源网一区| 色色色欧美| 玖玖伦理电影| 婷婷五月影院| 丁香五月天导航| 五月天婷婷综合免费| 五月婷婷激情中文字幕| 婷婷五月丁香图片人人操| 久久99久久久久久| 丁香蜜臀黄色婷婷五月天| 99热久| AV免费在线网站| aaaa久久| 深爱激情网婷婷| 亚洲综合在线播放| 77777亚洲午夜久久| 夜夜骑操AV| 丁香狠狠色婷婷| 色色三级视频| 九九热99精品在线| 舔色婷婷| 91人无码久久久久久| 五月丁香六月婷婷免费| 国産精品| www.久久爱.c n| 日日干干天天干| 五月婷婷AV| 91啪啪视频| 激情久久丁香| 欧美色婷婷| 色色综合网。| 思思热再线视频| 天天插天天射| 色插综合网| 另类天堂| 大香蕉五月天婷婷| 婷婷99狠狠| 色色六月| 婷婷五月丁香在线视频| 91fuliwang| 狠狠艹狠狠艹| 怡红院AV亚洲一区二区三区H| 丁香五月1页| 性爱网五月天| 婷婷激情五月综合| 激情五月婷婷综合| 国在线激情网| 国产99久久久国产精品免费看| 99色人| 丁香午月AV中文字幕| 色婷婷99| 婷婷五月香蕉| 9色在线视频| 亚洲精品无人区| 天天干夜夜b| 亚洲妇女熟BBW| 久久天堂| 99在线观看精品视频| 色综合区| 婷婷丁香六月影视| av首页在线| 婷婷情色激情| 五月丁香色停停啪啪啪| 婷婷六月中文字幕| 日本一级黄色片。| 五月婷婷六月丁香色| 婷婷综合国产| 九九精品视频在线观看| 五月天婷婷婷| 天天插天天操| 9久热| 九九色色| va亚洲中文在线| 丁香五月电影院在线观看| 色色色色色色色综合| 五月婷婷玖玖综合玖玖爱| 久久九九99字幕| 夜夜爽天天日| 丁香五月婷婷五月| 国产精产国品一二三在观看| 天天做天天爱天天综合| 国产伦亲子伦亲子视频观看| 视色综合| 婷婷日日夜夜| 九九综合| 婷婷五月天天爽| 97涩涩丁香五月天| 天插天啪天啪天啪| 色五月大| 五月丁香亚洲五月| 夜夜夜夜夜骑撸| 69精品人人人人| 丁香六月啪啪| 婷婷五月天日本国产| 夜夜躁爽日| 91精品久久久久久| 激情五月婷婷综合网| 韩国激情五月天综合网| Av性爱网站| 96丁香六月婷婷蜜桃综合久久| 伊人AV五月婷| 另类 在线| 99热这里只有精品23| 色色a| 婷婷激情五月天综合| 五月丁香婷婷色色色| 国精产品一区二区三区| 人人摸人人澡人人| 白天AV月月| 4399伦理午夜| 另类丁香五月天区图| 五月开心久久| 丁香五月丐人妻| 五月天综合色| 成人无码免费一区二区中文| 久久婷婷视频| 79精品视频在线观看,| 久久久WWW| 日本狠狠干| 99无码视频| 久久香蕉网| 玖玖婷婷免费| 伊人无码高清| 婷婷综合视频| 激情开心五月天婷婷基地丁香社区| 亚洲色人妻| 亚洲激情综合| 色婷婷丁香五月丁香| 99riAv1国产在线观看| 天天色综合图片| 91操在线| 在线中文字幕视频| 五月天婷综合网站| 色5月婷婷色| 五月婷婷综合色啪首页| 九月婷婷| 色五月婷婷av| 激情婷婷人妻| 中文久久久人妻| 99自拍视频网站| 色五月色五天色情网址| 另类少妇人与禽zOZZ0性伦| 亚洲区视频| 色无婷婷| 超碰免费人妻| 五月天伊人综合| 热思思| 五月丁香综合中文| 婷婷六月久久| 九九久久免费视频44| 九九视频在线观看视频6 | 伊人久久大香网| 色色色色色五月| 九九热在线观看视频| 色五月天成人| 99热这里只有精品16| 久热最新视频| 秋霞簧片| 伊人网色婷婷五月天| 玖玖伦理电影| 婷婷五月花免费视频在线| 99热这里只有精品1025| 99热99精品在线观看| 色五月天婷婷| 农村熟妇高潮精品A片| 97九色| 大香蕉网站,大香蕉综合| 六月丁香激情最新更新| 日韩a热| 狠狠色婷婷7| 婷婷色资源| 欧美 色婷婷| 亚洲 在线 另类| 五月开心播播网| 中文字幕日产A片在线看| 激情五月激情综合网| 天天做天天爱天天日| 超级碰碰碰碰视频| 97综合色片| 五月丁香色婷婷久久| 色九月国产| 婷婷五月天大香蕉| 色情丁香五月婷婷精品| 激情综合五| 久久密臀婷婷| 中美日韩成人在线| 成人羞羞啪啪 全 视频| 色婷婷黄色网络| 一区二区三区四区五区| 97精品在线| 26UUU| 97色碰| 91热爆在线| 九九热在线99| 色碰碰视频| 丁香五月综合激情久久潮喷| 五月丁香好婷婷姑娘综合网| 色婷婷亚洲综合av| 91啪啪啪啪| 激情五月天综合网| 99色在线观看| 综合色色五月| 人人操女人| 中文精品在| 青草青草久热这里只有精品| 99热久草| 五月香婷婷| 丁香五月影院| 婷婷五月天淫荡| 九色porny在线观看激情四射| 婷婷中文字幕| 五月天色婷婷基地| 日日夜夜婷婷| 狠狠综合| 99久久婷婷国产综合亚洲| 五月天激情网址| 男女99免费视频| 六月丁香婷婷天堂| 婷婷五月天狠狠搞干| 91凹凸在线| 日日撸夜夜操| 婷婷六月久久| 九九sese| 9l视频自拍9l视频自拍九色学生| 国产精品涩涩涩视频网站| 九九色插| 97超碰欧美中文字幕| 日本色色影院| 月色色综合婷婷网| 最新av在线观看| 无码婷婷五月天| 久久婷婷五月丁香网| 999影院成人在线影院| WWW.久久久久久久| 色婷婷AV在线观看| http://www.com久久久精品一区| 亚洲国产精品VA在线看黑人| 丁香五月婷婷在线视频| 91视频一起草| 婷婷免费视频| 120分钟婬片免费看| 亚洲激情精品| 亚洲性爱99| 丁香五月自拍| 男女啪啪做爰高潮无遮挡| av大香蕉| 99视频内射三四| 69久久久| 丁香五月天.com| 人妻av在线| 日韩三级片一区二区| av网址在线| 亚洲色精彩| 婷婷五月天影院| 九九精品片一| 这里只有精品视频视频在线观看| 97碰| 久久婷婷五月综合伊人| 99爱99操| 91青娱乐青青草| 9色在线| 97婷婷在线| 碰超亚洲| 久一网站| 色综合久久伊伊婷婷五月| 夜夜操天天爽| 日本一级大片| 操日本三片99| 五月色婷婷亚洲 | 9伊人网| 大香蕉久久视频久久视频| 国产一级片| 啪啪啪综合网| 婷婷中合| 大香焦啪啪啪| 五月天婷婷小说| 色播五月婷婷| 男人大jjc女人免费视频| 国产亚洲色婷婷久久99精品91| 国产亚洲精品AAAA片APP| 99久久終合| 色婷婷婷婷| 亚洲四色五月| 玖玖精品视频99| 五月天五月天激情网| 新97人人上人人| 久久色大香蕉| 九九热99精品| 怡红院91a√| 久久丁香婷婷五月| 国产精品岛国片在线观看免费| 激情文学久久| 五月天久久婷婷| 久色激情| 欧美色色色色色色色色| 精品一二三区久久AAA片| 中文字幕av久久爽一区| 色婷婷综合影院| 色综合色综合网| 99碰碰中文| 丁香五月婷婷骚视屏| 色丁香五月| 黄色短视频在线观看| 日本熟妇精品99| 六月婷婷av| 伊人久热91| 丁香婷婷六月激情综合| 狠狠干婷婷| 五月色天五月色| Jh7Uf088VHafNm| 99性色| 超碰A V在线| 综合欧美五月婷婷| 热99视频精品| 亚洲婷婷乱乱丁香| 婷婷五月天天| 视频综合网| 五月天啪啪视频| 人人操97| 色婷婷小说网| 六月丁香六月婷婷欧美| 五月婷婷丁香婷婷| 99热色综合| 成人电影一区| 思思国产99| 色五月在线观看| 99re6在线视频精品免费| 91婷婷在线| 婷婷丁香六月| 99在线精品免费视频| 成人精品在线观看| 丁香婷婷婷| 丁香五月天在线观看视频| WWW夜夜| 色噜噜狠狠色综无码久久合欧美| 任我肏视频精品| 久久在线大香蕉| 白人荫道BBWBBB大荫道| 欧美色色色色色色色| 精品三区影院| 婷婷激情人妻| 久久久91精品| site:pnnrt.com| 91热er| 91chinese 在线| 丁香五月激情网| www.亭亭五月天| 青青草网武则天| 丁香六月天堂| 国产婷婷五月中文字幕高清| 六六久久黄色| WWW.婷婷| 久久精品系列| 婷婷五月天色色| 精品国产va久久久| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 久99视频| 久久激情综合| 五月玖玖| 少妇大叫太大太粗太爽了A片| 日本欧美国产| av一区二区电影免费在线观看| 五月激情影院| 天天摸天天日天天舔| 五月精品99综合| 婷婷人人操| 天天日,天天射,天天插| 五月丁香成人网| 婷婷欠久少妇| 亚洲综合无码| 亚洲无码影音| www.五月婷婷.com| 蜜臀A∨在线水帘洞| 91视频精品99| 五月宗合激情网| 激情综合网婷婷久久| 国产操碰| 亚洲国产婷婷色五月| 日韩美一级毛卡片| 热思思九九| 久狠日av| 99热这里只有在线| 欧美婷婷五月无砖| 五月丁香六月婷婷手机无线| 可以免费看AV网站| 六月亚洲| 色色色色色色综合| www.粉嫩av.com| 五月天另类图片区99| 五月丁香激情综合网官网| 久久九九婷婷| 综合99综合久久久久久久| 久久久久人妻精品| av网址在线| 六月婷婷五月丁香| 丁香伊人五月色婷婷五十路| 人妻内射视频| 91丨九色丨熟女丰满| 五月丁香六月玩女人| 久久久com| 狠狠精品干练久久久无码中文字幕| 久久九九爽| 五月丁香综合| 欧美97超碰| 五月婷天堂视频| 久久精品4| 日本丁香五月| 久久综合激情| 中文字幕乱码亚洲精品一区| 日本久碰| 六月婷婷深深爱| 这里只有九九精品| 91九色首页| 日韩综合成人| 六月婷婷香蕉| www.狠狠操.con| 深爱五月亚洲| 99激情视频| 久久婷五月综合| 国产成人一区二区三区在线观看| 9久久网| 婷婷开心青青草| 91婷婷色 | 999久久久国产精品| 狠狠操天天干| 色综合com| 婷婷亚洲五| 开心五月天私房婷婷| 亚州视频九九99| 日日夜夜天天综合| 久久久婷婷五月天| renrencaoni| 狠狠干狠狠色| 99久久精品色老| 久久婷婷热| 亚洲成人网无码| 超碰人妻在线| www.9797国产| 丁香五月激情五月| 在线99色| 久热这里只精品| 欧美日本va| 五月丁香另类网| 综合狠狠五月婷婷| 国产黄大片在线观看画质优化| 婷婷色综合| 亚洲操逼网| 伊人久久婷婷| 九九热最新| 色五月之第四色| 九九五月天| 婷婷无码视频| 激情综合网亚洲色图| mmm1717.6dbm人人爱人人操| 99色在线视频| 安息电影在线观看完整版| www.婷婷五月天| 99操| 五月天婷婷在线视频| 色婷婷综合视频| 天天综合网站| 色五月激情综合| 久9综合| 深爱五月激情五月| www狠狠爱com| 26uuu欧美| 91九色中文字幕女在线观看| 嫩草免费视频| 婷婷五月丁香综合激情| 黄色片精品| 九九热精品视频| 丁香激情六月天婷婷| 超碰99热在线观看| 97视频久久| 碰碰女| 天天日日夜夜| 国产激情综合| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 五月色色激情网| 91中文狠狠综合| 丁香六月无码播放| 婷婷六月丁香五月| 九九色热| www.五月天婷婷.com| 99激情视频| 丁香五月婷婷黑人妻黄色电影院| 日韩成人av在线| 丁香五月婷婷激情中文| 丁香六月激情| 9久久婷婷国产综合精品性色| 激情色色色| 色色亚卅| 色五月成人| 激情第四色| 无码色色| 亚洲男女激情| 欧美狠狠色| 婷婷五月天堂一本在线| 精品九九久久| 99色综合| 夜夜操夜夜姧| 强伦轩人妻一区二区电影| 99热加勒比| 91精品婷婷国产综合久久| 性爱电影科技贸易有限公司| 亚洲AV综合网| 五月婷婷影视| 婷婷丁香六月天| 五月天综合久久| 色情综合网| 婷婷丁香人妻天天爽| 丁香五月成人社区| 天天爽夜夜爽天天爽夜夜爽| 99色在线观看视频| 婷婷丁香五月天激情四射| 九九干视频| 超碰中文字幕在线| 风流少妇A片一区二区蜜桃| 丁香五月AV| 婷婷久久欧美| 99精品偷自拍| 久久婷婷五月综合97色一本| 五月婷婷大香蕉| va婷婷在线| 综合aV在线| 九九久久视频| 九九激情视频| 欧美色色色色色| 婷色综合| 亚洲中文乱字字幕在线永久| 婷婷丁香五月天影院 | 天天操天天插| 超碰97久久| 亚洲综合五月天婷婷丁香| 97操视频| 久久伊人大香蕉| 五月丁六月香av| 五月天社区婷婷| 情趣视频66| 99久久www| 婷婷五月天堂| 热九九在线| 九九色图| 无码网| 欧美三级巜人妻互换| 六月婷婷国产| 99久久99视频| 婷婷久久综合| 婷婷五月天激情诱惑| 综合五月天| 久久香蕉婷婷五月天| 超碰伊人碰婷婷五月| 99热综合网| 婷婷五月天视频小说| 99riAV国产精品视频| 九九热这里| 热99免费在线| 99久在线视频| 五月丁香啪啪激情| 乱乱av| site:pnnrt.com| 丁香啪啪| AA片在线观看视频在线播放| 思思久日精品视频| 超碰AV在线| 欧美婷婷综合网| 91视频免费后入强操| 99精品久久| 影音先锋 91工厂| 色婷婷狠狠禁18久久| 色五月五月婷婷| 伊人久久婷婷五月综合97色| 色婷婷六月天| 五月丁香婷婷伊人| 亚洲中文丁香| 九九99偷拍视频| www色婷婷com| 97影院一级片| www.五月婷婷久久.com| 97热这里精品在线视频| 成人性爱精品视频| 五月久久网| 婷婷综合五月天| 99视频在线9| 亚洲色频| www.国产亚洲69ty.久久久久久久久久久久| 日本三级大片| 天天干天天做| 五月婷婷啪啪| 热久国产| 亚洲开心激情网| 97性高潮久久久| ss五月天激情| 人人妖人人97| 色婷婷五月天小说网| 97涩涩丁香五月天| 欧美激情 日韩无码 婷婷 五月天| 六月 丁香 视频| 九九Y精品热播| A A色色| 六月色婷婷| 久久五月天色婷婷| 九九热这里只有国产精品| 亚洲第一综合| 777色婷婷爱五月| 亚洲无AV在线中文字幕 | 五月丁香久久激情网| 新激情综合| 国产真人做爰视频免费| 五月天婷婷在线播放| 久热99热| 日韩黄色电影| 九九精品热| 婷婷五亚洲| 欧美天天性| 天天肏屄夜夜爽| 黄色三级日本| 大香蕉啪啪啪啪啪啪| 日本无码专区| A片试看50分钟做受视频| 久久性爱视频网站| 天天摸天天舔天天爽| www91色网站| 99这里只有| 婷婷成人综合五月| 色网站9| 亚洲五月婷天天操| 91日综合欧美| 狠狠穞A片一區二區三區| 五月丁香无码视频| 色五月丁香激情视频| 91精品无码| 五月天色欧美| AA片在线观看视频在线播放| 丁香五月花| 在线观看国产高清视频免费网站| av九九| 国产精自产拍久久久久久蜜| 一点色成人网| 91九九| 丰满女老板BD高清A片| 色婷婷色99国产综合精品| 五月丁香婷婷基地| 97综合在线| 97色啪| 欧美黄色韩日网| www.天天干| 婷婷激情五月色综合| 99ri精品| 久久久99久久| 色涩影院六月丁香| 99ri在线播放| 97干在线视频| 开心婷婷五月天综合| 五月天激情小说婷婷| 丁香五月天偷拍| 开心五月婷婷六月丁香| 开心综合激情综合| 婷婷丁香色情五月天| AV性爱在线| 啪啪 综合网| 婷婷丁香在线播放| 97欧美在线| 99热这里只有精品86| 99久久五月婷婷| 天天操天天爱天天玩| 丁香五月在线观看| 色婷五月| 99免费在线视频| 欧美99| 伊人色综合网| 四虎99热在线观看网站| 亚洲中字AV电影在线网站| 五月婷婷综合色啪首页| 国产婷婷五月天| 日韩 欧美 国产 一区 二区| 97五月天婷婷午夜| 综合网五月天123| 欧洲色色| 久久综合婷婷| 久9热在线免费观看| 1024婷婷综合久久五月天| 人人色婷婷五月天| 一本伊人色婷| 天天射美女| 农村熟妇高潮精品A片| 草草色情综合网| 伊人网碰碰| 激情小说五月天社区丁香| 能直接看的AV网站| 大香蕉精品视频| 国产视频色色色色色色色| 色五月天 丁香| 亚洲精品网址| 五月天婷婷操逼视频| www.五月天社区| 色爱综合网| 久久99热这里只有精品| 九九99九九99偷拍视频免费看| 五月天另类图片| 婷婷五月天狠狠色| 婷婷久久综合久| 国产精品人人做人人爽人人添| 999九九九久久久99HD| 99re热精品视频国| 日日舔夜夜操| 九九無妻| 99草视频在线观看| 色六月丁香婷婷狠狠干| 五月天激情国产综合婷婷婷| 97人人射| 亚洲色图啪啪| 日本激情ⅩXX免费视频| 久久精品性爱| 亚洲深喉aV| 日日干天天射| 丁香六月婷婷激情| 婷婷激情五月| 香蕉久久av一区二区三区| 99九九中文字幕视频| 9热精品| 情涩婷婷五月天| 91丨九色丨熟女丰满| 五月婷亚洲精品AV天堂| 色婷婷色和| 激情婷婷人妻| 激情五月综合| 热99在线精品| 深爱五月日韩| 超PEN精品在线| 亭亭丁香aV| 色五月综合在线| 欧美色偷偷大香| 91啪级电影| 可以看的AV| 久99久在线观看| 99久久6| 天天射影院| 欧美久久网| 开心五月丁香综合久久| 日韩啊啊啊| 99色热| 亚洲亚洲人成综合网络| 六月丁香婷婷视频综合在线观看| 夜色综合网| 996热re视频在线观看视频| 少妇口诉沐足视频播放器网址| 亚洲成人超碰| 绿色小导航AV| 九九热视频精品| 婷婷色综合网日韩国产| 狠狠擼综合| 99视频在线| 丁香六月色婷婷| 99热这里只有精品搜| 欧美成人精品A片免费一区99| 久久性刺激| 日本色色网站| 欧美乱码国产一级A片| 夜夜骑日日夜夜| 丁香婷婷色| 久久九九99.www| WWW.99热| 成人精品视频99在线观看免费| 激情伊人| 亚洲成人免费电影| 婷婷综合影院| 七七色色综合| 亞洲自怕| 色天使色婷婷| 色婷婷伊人| 五月丁香啪啪综合网| 色欲影香| 9久久久| 五月婷婷偷拍| 99热九九在线| 色丁香婷婷| 久久999久久999久久999久久| 丁香五月婷婷图片综合| 97色婷婷五月天| 日本偷拍九九九| 午夜爱爱爱成人| 无码视频国内精品久久久| 婷婷五月综合啪| 色五月综合网站| 婷婷五月天免费视频在线观看| 丁香99| 六月婷五月丁香| 久久怡红院| 天天日夜夜B久久| 内射在线CHINESE| 五月婷婷婷婷婷| 国产成人亚洲综合A∨婷婷| 夜夜操夜夜爽| 丝袜激情网| 婷婷五月激情综合| 99九九久久| 996er热| 99爱爱| 色色色色色色色色色999| 欧美槡BBBB槡BBB少妇| 九热免费视频| 婷婷九月丁香| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 超碰狠狠操| 久久婷婷色色| 无码操B| 中文字幕日韩无码制服诱或| 亚洲人成网站999综合| 六月丁香婷婷开心综合基地| 国产露脸150部国语对白| 婷婷五月天激情亚洲小说| 最近免费中文字幕大全高清大全1 免费看欧美成人A片无码 | 色婷婷五月天久久| 一二区成人电影| 久久天天| 丁香五月婷婷五月天在线| 蒲京久久无码视频| 碰碰91| 六月五月久久丁香| 五月婷婷黄| 综合久久五月天| 91九色 婷婷| 乱乱av| 亚洲激情综| 亚洲色婷婷久久99精品91| 97操操操| 国产精品色一哟哟| 激情五月天色色网| 被强行糟蹋的女人A片| 99久久性爱| 婷婷免费精品视频| 99热一本| 五月婷婷基地| 婷婷中文字暮| 69热在线| 五月停停大香蕉| 99视频自拍| 成人精品99| 99热费观看| 九八Av| 久久久WWW| m色激情网| 91美女被操| 综合色图区| 国产精品成av人在线视午夜片| 久久精品99久久久久久| 噜噜噜噜婷婷五月天| 99热在线网站| 五月丁香| 色久丁香五| 婷婷综合在线观看视频| 久色网址| 亚洲久艹| 岛国AAAV| 色色色五月婷婷| 婷婷五月丁香六月| 五月丁香六月婷婷亚洲激情综合| 婷婷激情综合| 丁香五月大香蕉在线99| 日韩啪啪网| 亚洲激情网| 五月人人丁香婷婷五月人人丁香| 久久丁香五月| 日韩AV中文字幕在线| 婷婷五月天性色| site:feetmall.com| 激情图片亚洲| 国产一区18| 熟妇人妻中文字幕无码老熟妇 | 亚洲精品亚洲人成人网| 99爱免费在线视频| 色色丁香婷婷| 五月丁香人妻| 999热这里只有美国精品| 婷婷色播婷婷| 久久综合99| 五月婷婷乱| 9久久精品| 五月丁香自拍| 久久五月天免费网站| 久久五月天网| 亚洲日日操| 涩五月丁香| 久久曰曰| 日韩欧美一级大黄网站| 91爱操| 亚洲 视频 导航 一区| 久久人操-久草婷婷-成人AV| 婷婷色网| 色播综合| 最近韩国日本免费高清观看| 亚洲激情另类| 久久激情网| 激情亚洲网| 激情六月婷| sewuyuejiqingwang| 色五月丁香91| 香蕉久日夜| 殴美97色| 色综合播放| 天天干天天操天天射| 97碰碰九九视频| 久久全意婷婷| 色99久草在线| 嫩草视频。| 六月丁香啪| 欧美精品A片一区在线观看| 国产精品99久久久久久久女警| 久久九色| 无遮挡国产高潮视频免费观看 | 人人人操 超碰| 丁香 久久| 五月丁香综合啪啪| 九九色精品| 久久丁香五月天| 狠狠穞A片一區二區三區| 日日干夜夜干| 亚洲亚洲人成综合网络| 爱iii做iiii日日| 日本黄色一级| 97干在线免费| 久久婷婷亚洲无码一起| 色婷婷综合综合网| 91超碰九色| 天天噜天天插| 操逼福利视频| 五月婷婷69| 日韩五月婷婷| 亚洲天99| 99亚洲天堂| 婷婷五月综合欧美在线播放| 97视频.干com| 三区激情四射av| 综合热无码| 五月婷婷,六月丁香| 婷婷五月激情视频在线| 99视频久久| 99热 在线观看| 天天精品视频在线观看视频| 五月天狠狠网| 九九黄色网| 少妇大叫太大太粗太爽了A片| 五月婷婷香蕉视频| 大伊香蕉精品视频在线| 久久久久久久久月丁| 99ri国产精品| 中文字幕在线免费观看视频| 国产 A片 自拍| www、色色色| 韩国天天婷婷| 欧美精品999| 综合网色| 中国丰满熟女A片免费观| 婷婷狠狠97| 五月天色婷婷激情综合| 色婷婷色人人射| 色综合天堂| 农村熟妇高潮精品A片| 另类图片五月激情| 日本理论久久| 色婷婷影院| 丁香五月综合在线视频| 五月丁香777| 综合久久五| 久久5 9视频免费观看| 九九精品大香蕉| 亚洲九九99精品视频在线播放| 五月99久久| 怡红院 久久| 天天射影视综合网| 成人色图情色成人网 www.5b5b5bcom 五月天 | 婷婷丁香69精华| 精品,99| www激情| 日本操B片| 五月丁香六月综合基地| 日本九九热| 亚洲成人一区| 婷婷五月天免费99| 99精品自拍视频| va亚洲中文在线| 激情色色| 黄色91在线观看| 色热久资源| 97五月久久丁香婷婷| 内射在线CHINESE| 婷婷久久久久| 婷婷在线五月天观看| 91人操人人人操人| 五月丁香婷婷欧美色图视频五月丁香777电影| 99久久亚洲国产| 婷婷五月天影视| 综合99视频| 99视频这里有精品| 久久九九爽| 五月婷婷六月丁香激情| 精品久热| 综合超碰熟| site:ornaments52.com| 丁香成人五月天| a九九热www| 色五月婷婷久久| 91人人操人人| 激情文学 综合 九月| 日韩一区二区三区无码| 色婷婷五月综合在线| 九热视频| 国产精品丝| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 激情五月视频| 99热精品在线观看| 美女91一起草| 伊人丁香花综合影院| 成人视频网| 超级碰碰碰97免费| 伊人AV五月婷| 江苏少妇性BBB搡BBB爽爽爽 | 啪啪亚洲综合| AA片在线观看视频在线播放 | 一本色综合色| 亚洲激情av| 99综合久久| 激情综合色婷婷啪啪六月天| 久久机热这里只有精品| 亚洲亚洲人成综合网络| 再綫Av免费視品| 色五月丁香网| 婷婷97| 婷婷久久久| 97超级操操| 婷婷婷婷婷婷婷五月丁香| 婷婷伊人久久无码色五月| 色五月久久成人婷婷| 欧美色频| 思思视频久久| 可以看的av网站| 色婷婷综合网站| 日韩性视频| 夜夜爱伊人| 久久超视频| 久久激情五月网| 国产性爱亚洲是图| AA片在线观看视频在线播放| 五月丁香av中文| 久久五月网| 日本久热| 久热免费| 9超碰在线| 另类激情五月| 九月丁香| 大香蕉九九| 五月婷婷啪啪| 日韩啊啊啊| 99热e| 丁香五月综合| 久久婷婷五月| 五月天色视频| 婷婷五月中文字幕国产| 国精产品一区一区三区免费视频| 五月天五月色婷婷综合| 五月天啪啪啪| 色色9 9| 精品色色色| 免费观看全黄做爰的视频| 五月丁香六月婷婷免费| 极品人妻VIDEOSSS人妻| 99精品无码视频| 日本精品久久久久中文字幕| 五月天色综合服务平台| 淫五月停停| 五月丁香直播| 婷婷丁香六月| 艹| 丁香花五月天社区| 伊人成人宗合网| 久久er99热精品一区二区| 色色亚卅| 蜜乳av一级av| 日日插日日干| 久久性操| 97精品人人A片免费看| 五月婷六月丁香| 四川操逼站| 色五月综合在线| 无码色色色色色| 欧美性猛交99久久久久99按摩| 狠狠干 狠狠操| 亚洲黄色精品| 日日夜夜狠狠| 久久婷婷成人视频| 五月婷婷色色爱| 丁香五月天的网址。| 日本精品干| 婷婷综合激情| 五月开心婷婷| sewuyuetingtingiii| 婷婷狠狠干| 色狠狠五月天| 九色婷婷| 丁香色五月婷婷| 日本怕怕视频| 日本三级日本黄色| 91热久久| 亚洲中文乱字字幕线在永久| 色天堂97| 亚洲综合五月天婷婷丁香|