browser-cdp

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Browser CDP 操作工具

Browser CDP 操作工具

通过 CDP 协议控制 Chrome,复用已有登录态,执行浏览器自动化操作。
通过 CDP 协议控制 Chrome,复用已有登录态,执行浏览器自动化操作。

前置条件

前置条件

  • macOS,已安装 Google Chrome
  • agent-browser
    命令行工具已安装

  • macOS,已安装 Google Chrome
  • agent-browser
    命令行工具已安装

第一步:启动 CDP Chrome 环境

第一步:启动 CDP Chrome 环境

bash
bash {SKILL_DIR}/scripts/setup_cdp_chrome.sh 9222
成功后所有
agent-browser
命令带
--cdp 9222

bash
bash {SKILL_DIR}/scripts/setup_cdp_chrome.sh 9222
成功后所有
agent-browser
命令带
--cdp 9222

常用操作

常用操作

打开页面并等待加载

打开页面并等待加载

bash
agent-browser --cdp 9222 open "<URL>"
agent-browser --cdp 9222 wait 3000
bash
agent-browser --cdp 9222 open "<URL>"
agent-browser --cdp 9222 wait 3000

提取页面文本内容

提取页面文本内容

bash
agent-browser --cdp 9222 eval 'document.body.innerText.substring(0, 8000)'
bash
agent-browser --cdp 9222 eval 'document.body.innerText.substring(0, 8000)'

提取 Auth Token

提取 Auth Token

bash
undefined
bash
undefined

从 localStorage 或 cookie 提取

从 localStorage 或 cookie 提取

agent-browser --cdp 9222 eval 'localStorage.getItem("token") || document.cookie'
undefined
agent-browser --cdp 9222 eval 'localStorage.getItem("token") || document.cookie'
undefined

页面截图 / 交互式快照

页面截图 / 交互式快照

bash
undefined
bash
undefined

查找页面元素(用于登录按钮等交互)

查找页面元素(用于登录按钮等交互)

agent-browser --cdp 9222 snapshot -i
undefined
agent-browser --cdp 9222 snapshot -i
undefined

点击元素

点击元素

bash
agent-browser --cdp 9222 click "<CSS selector>"
bash
agent-browser --cdp 9222 click "<CSS selector>"

填写表单

填写表单

bash
agent-browser --cdp 9222 type "<CSS selector>" "<text>"

bash
agent-browser --cdp 9222 type "<CSS selector>" "<text>"

常见问题

常见问题

问题解决方案
CDP 端口未监听重新运行
setup_cdp_chrome.sh
页面跳转到登录页
snapshot -i
找登录按钮并操作
eval 返回 null检查 localStorage key 名称,或改用
document.cookie
Chrome 进程残留
pkill -9 -f "Google Chrome"
后重新运行脚本
问题解决方案
CDP 端口未监听重新运行
setup_cdp_chrome.sh
页面跳转到登录页
snapshot -i
找登录按钮并操作
eval 返回 null检查 localStorage key 名称,或改用
document.cookie
Chrome 进程残留
pkill -9 -f "Google Chrome"
后重新运行脚本