亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(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)線索后我確認(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è)流程完全離線不依賴任何云服務(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ò)展需要用戶手動(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)里不同廠商封裝的 profile 模塊——就像 Docker 鏡像底層共用同一個(gè) runtime上層只是鏡像標(biāo)簽不同。所以如果你是前端工程師它能幫你把日常的“本地調(diào)試 → 截圖比對(duì) → 性能分析 → 日志歸檔”串成一條命令如果你是測(cè)試工程師它能讓你在 CI 流水線里用一行 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ò)展路線的三大硬傷很多人第一反應(yīng)是“既然要操作瀏覽器為什么不直接寫(xiě)個(gè) Chrome 擴(kuò)展”——這確實(shí)是最快上手的路徑但我在給三家金融客戶做自動(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必須由用戶手動(dòng)點(diǎn)擊“添加擴(kuò)展”才能生效。在 CentOS 7 服務(wù)器上跑自動(dòng)化任務(wù)時(shí)你根本沒(méi)法彈出 GUI 界面讓用戶點(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í)到依賴瀏覽器進(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è)面上下文專屬的。而 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)鏈接的所有依賴libffmpeg、icu、v8都打包在內(nè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)還容易因磁盤空間不足或權(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)程以普通用戶身份啟動(dòng) Chromium所有能力比如讀寫(xiě)文件、訪問(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 指令模擬鍵盤輸入——整個(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ì)把用戶操作錄制為 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)制訪問(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)擊、鍵盤輸入、頁(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)證碼并模擬鍵盤輸入。{{ 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”。這就要求使用者必須理解底層原理才能快速定位。以下是我在客戶現(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 名稱。真正的原因是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)限或依賴缺失。排查步驟手動(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ò)。解決方案不要依賴全局 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 流水線在運(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)可以訪問(wèn)任意網(wǎng)絡(luò)。在測(cè)試環(huán)境用 iptables 限制其只能訪問(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è)性內(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)站的促銷活動(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
返回資訊列表
欧美色图偷拍另类| 你懂的在线观看区国产| 综合亚洲情色| 色播综合| 69综合网| 一区二区三区机械有限公司| 国产精品久久久久久久电影渣男| 日日摸日日弄日日拍| 超碰 97国产熟女| 亚州免费啪啪视频| 日本伦乱九九九综合| 99re在线精品78| 久久超碰久| 国产树林里野战在线看| 操操操五月天婷婷丁香影院| 啊啊啊啊好爽好舒服一区二区易域| 激情终合网| 97二区四区| 黄网色一区二区三区四区精品| 国产高清亚洲日韩一区| 亚洲精品九九九| 欧美精品系列| 亚洲色棕合| 在线一区| 日韩电影天堂视频二区三区| 欧美操逼视频二区| 少妇天堂网络| 九九成人精品| 蜜臀久久在线视频| 国产精品色哟哟| 裸体美女国产免费久久久网站| 性色av网站| 天天操天天干一区二区 | 2023天天操夜夜操| 伊人大香蕉在线| 亚洲另类电影| 人人天天欧洲| 人妻天天爽夜夜爽爽| 久久国产视频性吧 | 日韩美女高潮喷水视频| 亚洲偷拍欧美激情| 欧美激情内射| 久久精品一区二区| 日韩av在线精品观看| 九九热九九| 国产一级高清免费观看| 五月天我淫我色av| 蜜乳视频网站| 色黄色美女大长腿午夜视频| 亚洲日韩美国人妻| 男人天堂站| 久久只有精品一区二区三区| 九九九久久久久| 极品久久久久久久久久久久久久| 国产AV天美传媒一区二区三区 | 免费观看有码高清视频| 久久久久国产亚洲一区欧美色图日韩 | 亚洲精品一二区| 日韩国产不卡在线视频| 欧美一区二区观看在线| 欧美夜夜狠| 国模不卡一本二本三电影| 婷婷精品国产一区二区三区日韩| 天天色踪合| 国产精品69久久久久久久| 青青草色AV| 97色网| A级毛片在线看免费| 久久精品国产亚洲妲己影视| 在线强奷到舒服的无码视频| 亚州综合电影| 久热伊人| 777AV电影| 综合激情婷婷| 欧美中字二区| 风韵犹存大大大大香蕉 | 日韩精彩免费| 精品少妇一区二区三区| 亚欧无码线免费观看视频| 亚洲精品国产日韩无码AV永久免| 欧美制服另类丝袜| 九九热精品视频六| 国产野战露脸在线播放| 夜色五月天| 久操在97| 欧美天天综合网| 青椒国产97在线熟女| 视频二区美腿丝袜制服人妻欧美| 亚洲九九爱| 日本综合色图| 秋霞一级视频在线观看免费| 国产99999久久精品| 91综合网| 中文字幕老熟妇黄色视频| 亚州熟妇精品| 中文字幕精品探花视频| 激情五月天婷婷| 天天天天天超碰| 97欧美视频| 啊视频在线| 欧美97视频| 东北少妇高潮zzzz| 一区二区三区 丝袜 高跟 美腿| 五十路熟女在线不卡观看一区二区| 日韩熟女操逼| 好湿好紧好爽 视频| 超碰97综合| 日本韩欧美在线播放a| 抽查国产福利主播| 亚洲欧美日韩偷拍色图| 亚洲激情天堂网| 黄片免费视频2019| 第四色色综合91| 91五十路| 七久久久| 欧美不在线| 国产女人高潮视频| 免费视频一二三区| 亚洲一本色码中文字幕| 国产精品ⅴ无码大片在线看.| 中文字幕第页| 人人操欧美风骚| 久久婷婷五月天| 啪啪啪男女亚洲中文字幕99| 久热九九| 麻豆天美国美国产| 亚洲男人的天堂网| 人人操人人狠狠操| 亚洲双插| 深爱五月天| 欧美综合色图片| 亚洲最大无码中文字幕网站| 亚洲中文丝袜美腿诱惑字幕| 日日干夜夜操视频h| 国产色产精品在线观看| 91肏屄网| 亚洲乱熟女一区二区三区大香蕉| 99re99在线视频| 日韩AV一起草| AⅤ片水多多| 精品国产乱码久久久久久网站入口| 日本网色| 中文字幕三四区| 亚洲限制级在线| 操人人| 中文字幕在线2| 亚洲色诱惑| 久久久日本电影| 欧美嫩性色| 丰满人妻aA一区二区三区| 日本999精品| 人妻系列无码专区中文有码| julia国产在线 | 欧美性爱第一页久久| 久久999久| 亚洲精品成人激情在线| 黄色无码高清黄色无码网站| 碰超人人在线一区二区三区| 你操综合| 丰满高潮18xxxx| 欧色网址| 欧美特黄视频网站| 日本不卡码黄色| 国产一级操B视频| 天天综合网在线观看| 磁力99AV| 不卡在线一区,精品一区二区三区中| 日韩成人高清一区二区| 亚洲中文字幕av| 屌妞视频久久久久久久| 天天日天天色| 日日日日做夜夜夜夜做无码97| 亚洲制服欧美另类内射| 国产高清免费不卡av| 亚洲熟女综合网| 久久久内射良家| 成年男人的天堂| 日韩精品一区的| 国产性久久久| 岛国在线国产| 九九九久久久| 成年无码动漫av片无尽在线 | 在线无码视频| 国产男女边吃边摸视频网站| 国产熟女无套内射| 97人人色| 超碰 国产熟女精品一区| 欧美丝袜激情| 亚洲精品一卡二卡三卡福利视频网站 | 69精品人人人人| 夜夜操二区| 日韩女模中文造逼| 红杏大香蕉| **一级毛片国产| 免费精品人妻一区二区三| 精品国产三级av韩国在线| 欧美激情在线观看视频| 中文字幕国产| 欧美亚州综合网图片| 亚洲极品| q2午夜理论片夜色av| 精品人妻一区二区三区视频| 天美一二三在线观看Av| m欧洲一级午老| 超碰在线97国产| 一个人在线看的黄色电影网站| 在线 制服丝袜中出 人妻| 国产亚洲禁久一区二区| 综合操逼| 欧美一区二区三区日韩| 色色五月婷婷| 天天日日夜夜| 欧美AB在线观看| 日韩伦理久 久久 清纯| 97资源欧美| 欧洲中文字幕| 9长久久精品| 啊啊啊操死我| 中文字幕三四区| 国产一级高清免费观看| 人人操人人搞人人草| 综合欧美激情网| 嫩草影院在线观看精品| 丁香五月性| 色五月激情综合网| 久九干| 久久国产精品熟女人妻| 最新AV在线| 91香蕉国产尤物视频| 老熟女乱伦一区| 日韩中文字幕精品一区在线| 不卡免费av在线播放| 强奸乱亚洲| 嗯啊免费视频| 欧美一品道| 91青青在线| 久久区| 人人性爱视频免费| 国产区性爱在线视频秋霞豆 | 丰满欧美放荡少妇在线| 日本操逼视频免费| 中文字幕亚洲热播人妻| 色九九综合| 久草视频制服诱惑| 台湾佬中文娱乐网久久久久久久久久com | 亚洲精品一二区| 欧美性爱一级操| 天天综合网站| 国产偷拍自拍在线视频| 亚洲天堂区| 很很很很操| 91美女片在线| 中国乱伦一区二区| 久久久久久久久久久久黄色 | 在线观看午夜婷婷久久久久清性观看| 丝袜美腿操av| 亚洲偷拍自拍在线视频| 韩国女主播青草在线| 亚洲激情欧美色图 | 色香在线| 国产又黄又粗又猛大片| 日欧操屄视频| A男人的天堂| 色香综合| 色婷婷激情| 偷拍色图| 香蕉黄色一级视频| 青女在线| 欧美日韩黄片精品在线| 啊啊啊啊啊在线观看网址 | 亚洲日韩资源| 日操粉逼逼| 亚洲熟妇乱女区二区三区| 偷拍亚洲情色| 色yeye成人免费视频| 97视频观看| 9九九国产| 在线无码网站| 久久久久78| 成人羞羞视频国产| 蜜桃成人1区2区3区| 国产精品呦一区二区三区| 麻豆60秒| 亚洲一级黄色毛片| JULIA人妻风俗店中出电影| 亚洲一区二区av| 亚洲福利中文字幕在线| 97操B| 天天看,天天做| julia ann久久| 亚洲二区精品在线观看 | 欧美强奸乱能| 老女人91| 探花激情视频| 男人天堂导航| 思思热在线观看| 欧美春色| 国产精品高潮久久AV| 最新日本中文字幕| 少妇与黑人高潮在线| 国产欧美日本亚洲精品| 91国产丝袜美女| 日韩中文字幕在线视频观看| 欧美春色| 嗯阿好爽好紧| 国产传媒操逼视频| 欧美综合色图片| 91狠| 免费看黄片现成| 99re在线观看| 久久久久久AⅤ无码免费肉站| 91色伦| 91精品久久久久久综合五月天| 超碰超碰超碰超碰的大鸡吧操黑丝袜 | 美国日韩黄色片| 97在线播放| 韩日精品四区| 特级特黄一级毛片免费| 欧美色视频在线| 久久超碰大香蕉| 国产中文字幕曰本毛片| 91啪啪| 亚州中文字幕超碰97| 顶级丝袜熟女一区二区三区| 在线看污网站| 91爱做| 日本综合久久| 国产精品第一区第一页| 果冻传媒A片一二三区| 七久久久| 免费A V在线播放| 夜夜高潮夜夜爽夜夜爱爱一区| 老色69| 岛国视频一二三区| 国产色产精品在线观看| 欧美九一精品久久久熟妇| 国产按摩一区二区三区| 欧美性巨大╳╳╳╳╳高跟鞋| 亚洲图片欧美偷拍| 欧美97视频| 久久九九99| 伊人久久综合影院| 精品欧美老熟女一二区| 亚洲色欧| 熟妇人妻一区二区三在线| 欧美性爱五月天| 色操逼网| 国产捆绑一区| 91色伦| 欧美色图下一页| 极品丝袜无码| 色综合99| 操逼网免费无码视频| 亚洲AV成人精品网站在AV| 欧美图片校园春色| 97超碰这里只有精品| 啪啪视频mP4| 久99视频| av天堂手机版追回 | 欧美中文字幕男人天堂久久精品| 久久这里只精品99re66图| 国产一区二区三三视频| 国产操逼网站亚洲一级黄色| 999热这里只有精品| 国产AB视频| AV丝袜少妇| 天美精品av| 五月丁香狠狠爱| 顶级丝袜熟女一区二区三区| 乱伦一区二区三区‘| 密乳视频在线| 三级精品三级在线观看| www熟女乱伦com| 97在线观看免费视频| 人妻丝袜一区二区三区在线| 欧美少妇高潮视频| 精品人妻视频一区二区在线播放 | 999综合网| 中文字幕人妻丝袜乱一区三区| 超碰碰小说97| 欧美 日韩第一性色| 无码操逼天堂| 蜜桃视频啊啊啊啊| 校园春色 亚洲| 欧美亚洲特P| 国产美女91| 久久蜜桃一区二区| 欧美天堂在线| 国产97在线视频| 99色网| 99婷婷一区二区| 你懂的在线观看区国产| 日本色色色色色视频| 亚洲AV秘 精品久久老牛影视| 日韩中文字幕人妻视频| 啪一啪免费视频| 啊视频在线| 日韩人妻精品久久久久| 少妇69中文| 不卡一区视频| 天堂亚洲精品| 91精品国产91久久青草| 日本操逼视频不卡直接放| 一类无码操逼视频| 99精品在线| 嗯嗯嗯,草死我| 91美女在线视频| 精品一区二区三区蜜桃臀www| 久久精品一区二区三区蜜桃臀| 欧美色图另类图片| 国产午夜精品理论片a大结局| 一道α片欧美| 久草福利在线资源站| 亚洲九区| 加勒比海成人视频网 | 另类TS人妖一区二区三区| 女人 A一级| 日本中文字幕在线电影| 日韩少妇无吗| 亚洲色性| 少妇人妻太紧太深av| 欧美精品999| 超碰在线人妻不卡| 欧美日韩亚洲天堂| 美女极品一区二区三区| 亚洲无套久久嗯嗯| 日韩人妻丝袜美腿中文| 91亚洲欧洲| 少妇xx精品| 无码91| 97综合久第一页| 精品人妻免费观看| 亚洲色啪| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 影音先锋每日最新资源在线观看| 婷婷丁香五月激情啪啪| 日韩精品第3页| 日躁天天爽爽| 成人av免费观看| 无码视频一区二区| 九九九免费视频| 国内精品伊人久久久久影院会| 97超碰色屌| 91精品91久久久中77777| 欧美日本中字另类在线| 国产av青草| 变态综合色| 成人三一级一片aaa| 欧美天天谢综合网| 青青草国产欧美非洲黑人| 手机在线观看不卡无码av| 中文字幕亚洲欧美在线不卡| 国产精品网址| 激情网五月天| 97中文字幕九区| 人人天天干干| 破处bbq| 超碰国产精品无码| 国产成人天堂| 黄色电影在线播放综合网站| 亚州色站 日韩电影| 激情欧美97| 99色综合| 久久久久久久9| 亚洲综合五月天| 亚洲,欧美,综合网| 婷婷五月天基地| 欧美图片校园春色| 九九热精品| 欧美92| 色婷婷五月天| 精品午夜福利| 爱干爱射网啊啊啊| wwwxxx日本爽| 老女人老91妇女老热女| 操逼操逼逼操操逼91| 国产亚洲精品美女| 国产精品久久久久无码AV会牛| AV丝袜东京热| 亚洲福利中文字幕在线| 午夜噜噜噜| 丁香五月av| 国产91精品在线免费| 国产视频一区二区在线观看| 91av一区二区在线观看| 天天操天天日青青草超碰av| 99久久网站| 亚洲男人天堂2017| 国产精品小视频一区二区三区| 极品色| 久久久久久九九九九-美女久久久久久久-成人AV | 最新国产精品| 欧美日韩精品久久| 天天色播亚洲综合网站| 亚洲丝袜少妇在线| 2025亚洲男人天堂| 黄色视频特级毛片| 日本精品五区| 午夜精品人妻二区三区| 亚洲天堂区| 午夜福利激情在线视频| 少妇九九九九| 啊嗯好大视频在线观看| 3p国产欧美99热| 国产精品网址| 99精品人人爽| 日本有码久久| 极品尤物女神在线观看| 精品一区二区三区丰满熟女-亚洲欧美一区 | 美女91网址 | 999久久久免费精品国产牛牛| 九九九九九九九九九五码| 小情侣高清国产在线视频| 麻豆成人AV| 国产第11页| 女优视频第10页| 国产熟女完整版中字| 久久久久99999| 中文字幕视频免费| 亚洲国产一区二区三区在线 | 精产品久久| 夜夜综合| 欧美性,色九九| 九七毛片九九毛片| 国产成年免费大片黄在线观看| 极品欧美一区二区三区| 黑人综合网| 日本欧美一区二区三区免费| 欧洲黄色网| 粉嫩AV一区二区夜夜| 男人天堂一区二区| 伊人色综合超碰| 日本高清一区二区在线| 亚洲男人久久综合天堂| 欧美激情在线观看视频| 智利AV在线网| 伊人色综合欧美| 午夜性| 五月丁香啪| 久久精品国产免费观看99| 久久久久久久九九九九九九| 欧美色狠| 久久久久九九九九| 91人人| 男人的天堂VA| 亚洲精品蜜桃久久久| 自拍亚洲综合| 麻豆成人av| 青娱乐大香蕉| 欧美综合制服在线| 日本蜜桃| 青草影院内射高潮| 天堂亚洲精品久久老牛| 裸体1区| 成人一区二区三区四区| a片亚洲一本通视频| 亚洲天堂自拍| 中文字幕神马久久| 亚洲色图综合网| 国产精品久久久久久9999| 97一区二区三区视频| 99www.bibizy香蕉资源国产一区二区三区高清| 91女神在线视频| 一本正道久久熟女| 草伊人高潮喷水超碰| 精品无吗久久| 亚洲 欧美 小说| 国产九区| yazhouzaixian| 密臀在线视频| TS人妖另类精品视频系列| 曰韩人妻中文字幕在线| 国产一区二区在线播放量| 日韩99精品视频综合区| 日本激情免费大片| 欧美日韩性爱视屏免费看了| 黑丝少妇| 亚洲天堂自拍| 97伦乱| 97超碰大| 国产精品久久天天干| 蜜桃视频成a人v在线| 久久久久久AⅤ无码免费肉站| 大香蕉九九| 婷婷伊人一区| 久久久一区二区| 午夜欧美精品久久久| 日韩一级久久毛片| 精品国产乱码久久久久久口爆网站 | 国产午夜在线观看| 国模不卡| 国产精品91一样| 四虎在线播放| 97超碰香蕉| 精品国产91av一区二区三区| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 亚洲天堂电影精品一区| 久草色悠悠在线视频| 欧美第二页午夜| 另类图片天天影视| 狠狠色狠狠色狠狠五月| 91九九九馒头| 蜜桃AV天堂| 香蕉黄色一级视频| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 嗯嗯嗯嗯啊啊啊好紧好大| 大肉棒导航| 精品午夜福利| 亚洲第一在线视频| 91在线丝袜视频| 国产午夜精品一区二区三区牛牛| 国产亚洲性生活视频播放| 欧美激情综合| 亚洲欧美91√| 国产高清精品一区二区三区毛片| 婷婷五月成人| 综合网亚洲1| 亚洲另类小说卡通动漫| 美女露胸露奶头| 色婷婷日韩精品一区二区三区| 香伊人在线| 91久久国产综合久久| 欧美在线综合| 激情无码日韩| 东北女人被操| 久久国产逼| 99色悠悠| 综合色一区三区二区| 亚洲一本大道中文字幕无码在线| 亚洲少妇在线影音| 岛国1区2区3区在线观看| 97资源制服丝袜| 国产精品日日摸天天碰| 在线v中文字幕一区二区三区| 欧美 牲| 欧美激情性久久久久久| 强上我不卡卡| 高清无码久操视频| 九九九综合精品| 日韩欧美日韩| 暖暖精品二区三区观看| 午夜性刺激视频免费观看| 久久久久久久人妻| 天天cao在线| www.夜夜操| 欧美成97爱| www.婷婷| 91老熟女| 国产夜夜操| 欧美呦呦性爱| 91高跟美女在线播放| www.91人妻.com| 1204金沙人妻懂旧版免费| 涩涩涩综合| 欧美综合 站| 亚洲无线码一区国产欧美国| 精品国产乱码久久久影院| 99久久综合网| 大奶的诱惑| 成年男人的天堂| 成人影院永久免费观看网址| 欧美午夜视频| 五月婷婷丁香中文字幕| 一区二区视频在看| 日韩中字av一区| 99久久精品欧美国产| 美女黑人91神马| 日韩乱插| 97久久久| 97精选久久| 91超级碰| 三级精品三级在线观看| 97欧美色综合| 嗯啊不要啊在线 | 97资源欧美| 日韩精品黄片免费观看| 91精品国产91熟女| 久久超碰、| 亚洲av淫乱| 欧美亚洲情色| 无码人妻系列少妇| 深夜操逼网| 狠狠中文字幕| 久久αⅴ| 大香蕉综合在线| 男人的天堂网免费| 无码逼| 97爱亚洲| 久久一区二区加油站| 中亚精品极乱| 国产久久av| 在线视频97| 久久国产999| 久热色情精品| 十八禁成人网站在线观看| 亚洲日韩美女丝袜美腿人妻视频| 91总综合网| 男人的天堂不卡一区二区| 亚洲欧洲综合成人av一区| 97在线视频免费看| 美女黑人91神马| 超碰97欧美在线| 亚洲一区二区三区AV无码| 亚洲男人天堂网| 又黄又硬又粗又长国产视频| 日韩三级在线观看mp4| www.夜夜操| 成人性爱美曰韩| 在线观看不卡一区二区三区| 91 综合网| 蜜臀th| 操一区| 日本天堂网| 啊啊啊啊嗯嗯嗯用力好爽 | 青草成人免费视频一com| 日本精品一区二区三| 成人日韩中文字幕| 偷拍欧美激情| 伊人AAA| 9999免费精彩视频| 亚洲成熟国产精品美女| 三级AV入口| 一级性爱视频免费观看| 天天久久| 热热色中文无码| 亚洲中文字幕av| 久久久草草精品| 大香蕉之青青草原| 怡春苑东京热| 91黑丝美女| 久久天天躁日日躁狠狠躁| 欧美综合站| 五月天激情婷婷| 欧美日韩成人在线| 丁香六月婷婷| 国产精品色色| 99热只有| 操人妻少妇中文| 九九天堂| 4141514逼喷水三级片| 久久欧美1卡2卡3| 神马久久久久眼| 人妻在线中出视频| 热久久九九热| 欧美国产有色电影| 亚洲伊人久久精品影院| 天综合网欧美| 久久精品综合| 天天操妹子| 精品国产乱码久久久久久蜜臀| 欧美色视| 亚洲精品国语在线播放| 99亚洲精品| 日本一级婬片试看三分钟| AV不卡在线| 美女自卫慰黄网站免费| 久久五月视频| 加勒比无码一区二区三区| 中文字幕二区日韩天堂| 夜夜操av亚洲一区二区| 亚洲综合性网址| julia ann久久| 麻豆尤物视频网| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 992这里有精品| 任我爽视频在线观看| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 2017大香蕉国产精品久久| 天天色天天干天天爱| 久久无码成人| 99热精品在线| 免费人人搞97| 欧美人妻一区二区| 少妇综合| 国产熟女免费观看久久| 久99热| 91麻豆天美传媒HD| 33044男人的天堂深夜备| 欧美色图亚洲激情| 乳欲人妻办公室奶水| 日本综合色图| 久插综合| 亚洲丝袜在线观看| 日韩精品在线视频在线观看| 在线不卡视频| 狠综合网| 精品黄色电影| 欧美成人性爱视频免费观看| 欧美成人9797| 99热18这里只有精品| 欧美色图亚洲激情| 日韩丝袜二区| 久久视网78| 97超碰色色| 成人免费福利在线观看| 久久色激情一区二区三区| 亚洲综合另类色图| 亚洲色欲天天天堂色欲网女| www.夜夜操| 天堂涩涩| 日韩极品无码B| 操人91| av东京热男人的天堂| 免费试看60秒| 探花精品视频| 欧美日韩天堂| 男女做爰猛烈动高潮A片免费应用| 欧美亚洲中文字幕| 蘋果手機免費看成人Av| 一二三区操逼国产91| 大香蕉久操| 中国黄色特级精品一区二区三区片| 久操精品| 大胆91| 怡红院久久老司机| 一个人免费HD91视频| 色九九九综合| 综合伊人激情| 2025亚洲男人天堂| 97视频网站| 亚洲少妇色| 欧美丝袜91| 女人午夜视频777| 久久久久久久久久久久久久久久9 亚洲成人妻日韩在线 | 亚洲第一精品在线视频| 国产人伦精品一区二区三区| 啊啊啊啊啊好多水| 狠狠狠狠狠狠| 中文字幕视频在线观看| 久久久久久欧美精品se一二三四| 久久偷偷色综合蜜桃| 久久社区一区二区三区| 婷婷干黄色| 国内精品999| 极品另类| 亚洲免费精品一区| 欧美视频一| 裸模AV女优| 第四色奇米影视777| 欧美日韩婷婷中文| 午夜AV人气不卡| 久久久免费懂色| 日操粉逼逼| 2019男人的天堂| 婷婷99狠狠| 久久精品店| 夫妻四区五区六区| 国产福利电影| 中文字幕av丝袜| 日韩激情啪啪| 色妺妺AⅤ| 亚洲色图20p| 三级激情网站| 国产精品色约约| 婷婷五月天网| 亚洲精品一二牛牛| 久久日本熟妇熟色高清| 日韩一级欧美一级在线观看| 91宗合网| 成人网欧美风情| 亚洲欧美日韩免费电影| 日韩特一级久久| 亚洲综合五月天婷婷丁香| 日日夜夜精品视频| 91久久国产综合精品| 亚洲AV无码国产精品久久久久 | 成人av性爱电影在线观看| 欧美日韩婷婷中文| 欧美日韩操逼嗦吊| 91精品人| 风月影院男女十八禁| 欧美操人| 少妇一区二区三区精选| 国产少妇内射| 黑丝91视频| 成人福利视频网| 91香蕉国产尤物视频| jiujiujiujingpin| av天天在线观看| 成人aⅴ一区二区三区| 亚洲激情在线| 欧美亚州综合图片| 国产 码在线成人网站| 操b在线观看| 色天天野狼综合社区| 91AV老熟女视频| 国产成人www免费人成看片| 高潮精品| 啊啊啊啊,啊啊好多水| 国产黄a三级三级三级av在线看| 伊人精品久久网站| 午夜精品久久久久久久久久久久久| 欧美视频激情久久久久久| 综合激情婷婷| 18禁免费视频| 人妻一区二区三区四区视频| 精品丰满熟妇人妻一区| 日本99一区二区| 中文字幕啊啊啊在线观看视频| 一区操逼日比视频| 日韩免费在线观看不卡| 天天操妹子| 啊啊啊啊好大好硬啊啊啊啊啊 | 99热免费| 伊人黄色视频免费观看| 手机午夜电影神马久久| 欧美天堂在线| 日本国产二线女色| 啊啊啊要高潮了| 欧美色图片91| 精品国产乱码久久久久久久久1| hd成人一区二区在线| 91丨九色丨国产丨人妻在线| 啊啊啊好想要| 欧美色图电影| 91制服丝袜| 91男女| 俞拍自拍| 久久婷婷欧美| 9精品在线| 欧美高清性猛交| 丝袜内射| 北京专精特新企业招聘信息| 色五月婷婷麻豆在| 成人看片网站| 婷婷操逼| 久热99| 依人大香蕉| 97色婷婷| 91精品综合久久久久久五月丁香| 日韩女模中文造逼| 高清国产av无码| 久久精品国产72国产精品福利| 久久亚洲AV无码专区国产精品| 黄色av网站在线播放| 一级AV性爱| 国产精品久久久久久久AV大片 | 青青草乱入乱欲视频在线观看| 天天综合有色网| 欧美色997| 日韩人妻无码精品系列| 欧美成人色| 亚洲无限观看| 亚洲色图第四色| 91天堂丝袜美腿| 亚洲人妻五月丁香婷婷| 久久久夜夜夜| 偷拍偷窥与盗摄视频专区| 国产成人拍国产亚洲精品| 中文字幕一区二区三区字幕| 高清国产成人无码| 日本欧美亚洲高清在线看| 欧美日韩国内不卡| 99综合网| 天堂资源欧美| 精品乱码久久久久| 色欲久久99精品久久| 亚州性色| 无码久久国产| 国产精品视频一区二区三区八戒| 欧美午夜视频精品久久| 99爱爱| 乱理日韩中文| 啊啊啊啊啊啊啊在线| 成人草草视频| 十八禁啪啪视频| 小视频玖玖| 久久99网站| 中文字幕乱碼在线| 久久精品99| 97在线免费| 免费在线黄片视频| 丁香五月色| 四虎国产成人精品免费一女五男| 91久久久久久久| 91人妻熟女| 丰满人妻一区二区三区四区| 高清在线偷拍自拍视频| 国产免费大片| 超碰这里有精品| 亚洲欧美高清| 免费中文在线| 青青草日逼视频| 欧美性视频二区三区| 91狠狠| 亚洲 国产 精品一区| 97AV爱| 欧美激情黑人| 久操黄色视频| 97天天操天天干| 夜夜嗨一区二区三区直播内容| 性饥渴少妇av无码毛片| 99人人干| 免费成人在线熟妇网| 夜夜躁狠狠躁日日躁av| 日本性爱不卡视频| 久久国产精品,久久国产| 97人人爱人人乐| 亚洲精品尤物yw在线影院| 俺去也婷婷| 亚洲欧美日韩中文久久自慰| A片大香蕉在线| 婷婷综合五月天| 亚洲国产中文字幕| 无码精品久久| 四虎影库国产精品免费| 欧美日韩小说| 加勒比久久综合网高清| AV高清一区| 青青草中文字幕| www.激情| 久久华人网| 艹精品| 青青操在线亚洲视频观看欧美在线 | 97操操| 九九九九一级| 国产日韩区| 青青草十区九区爱夜| 综合色一区三区二区| 婷婷AV一区二区三区| 亚洲污污网站| 大香蕉黄色一级片免费看| 中文字幕 av v| 超碰在线一区| 亚洲人妻一区二区三区| 欧美丝袜91| 日本黄 R色 成 人网站| www.av不卡中文字幕| 男女性感激情网站| 玖玖资源中文字幕制服丝袜| 亚洲精品一二牛牛| 中文一区二区婷婷视频| 欧美性第一页| 大鸡巴久久久| 色在线视频导航| 国产天天骚| 亚洲欧洲自拍图片专区满春格| 91青视频| 激情熟女12P| 国产福利夜| 黄色大片免费在线| 欧美日韩国产电影| 亚洲色欲天天天堂色欲网女| 殴洲老熟女| 欧美日韩激情无码专区| 蜜桃精品一区二区三区久在线| 人妻中文字幕精品无码| 学生妹天天看| 久久婷婷综合国际产色怕| 久久久久久免费电影| 欧洲熟妇xxXx欧美老妇裸体 | 大色综合网| 后入精品| 啊啊啊啊嗯嗯嗯用力好爽| 亲子敌伦对白在线播放| 欧美黄色图片| 天天色黄色影院天天操| 日韩淫色网| 婷婷激情综合网| 亚洲精品人体| 日日干夜夜操视频h| 国产欧美精选自拍一区| 东北操逼| 欧美激情综合色综合啪啪五月| 欧美日韩资源| 91美女在线视频| 欧美系列在线一区二区| 欧美成97爱| 欧美爆操91| 国产亚州精品美女久久久免费| 撸无码不卡免费视频| 青青草原人妻| 最新中文字幕精品在线| 少妇大屁屁| 秋霞男人网| 欧亚性爱视频免费看| 久久久久久久97| 亚州综合图片| 婷婷五月成人| 欧美黄色大片在线观看| 久久国产精品视频| 很黄很污的免费网站| 午夜寂寞欧美| 亚洲色图欧美一区二区不卡| 日韩精品电影| 91麻豆天美国产欧美| 日本三级一区二区 在线| 色色97爱| 性爱AV天堂| 熟女性视频| 欧美亚洲另类在线蜜桃| 亚洲综合欧美| 亚洲天堂久| 91撸色网 玖玖网 欧美| 成人国产精品三级A片| 国产精品久久久久久久无码AV| 日本熟妇自慰性高潮一区二区三区| 亚州成人a∨| 日韩av乱伦| 国产福利在线视频网站| 亚洲人妻在线精品| 一区二区播放| 婷婷美人网| 丰满少妇一区二区三区四区观看| 无码 有码 国产18p| 亚洲国产精品成人综合| 亚州性色| 中文字幕日韩情色| 亚洲自拍一区夜夜操| 欧美黑人XXXⅩ高潮交| ?亚洲伊人伊成久久人综合网| 操逼无码操逼| 野狼福利社区| 欧美色图99| 超碰97在线色男人??| 日本一二三高清| 国产精品老熟女一区二区| 黄片在线免费在线观看| wwwxxx日本爽| 三级日韩一区二区三区| 性91| 自拍六区| 中文字幕视频二区| 女上位精品在线| 91高跟美女在线播放| 蜜桃中文字日产乱幕4区| 欧美|91色综合| 色色色综合网| 337p大胆噜噜噜噜噜91Av| 黄片直播三级黄片两女一男| 国产h片在线观看视频| 久久受www免费人成| 综合伊人激情| 亚洲影院无码在线| 一级性爱视频免费观看| 亚洲人成网站7777| 成人性爱免费播放| 精品无码久久久久久久杏吧| 亚洲精品九九九| 精品九九九| 麻豆三极片| 青娱乐二区免费| 综合伊人激情| 国产一级内射无挡观看| 日韩精品色呦呦| 天天做日日做| 国产h片在线观看视频| 可以在线观看AV的网站| 久久久久久AⅤ无码免费肉站| 亚洲砖码砖专无区2023| 最新日韩黄片| www.丁香五月| 殴美牲| 5252色欧美在线| 国产美女精品| 成人精品视频| 91精品婷婷国产综合久久| 精品人妻久久久| 欧美日韩资源| 色综合国产在线观看|