入门
使用 Bot Script 进行无框架自动化
使用 BotBrowser 的 --bot-script 参数进行轻量级浏览器自动化,通过 Chrome DevTools Protocol 直接控制,无需外部依赖。
什么是 Bot Script?
BotBrowser 内置了一个自动化模式 --bot-script。它在浏览器的特权上下文中运行 JavaScript 文件,可完全访问 chrome.debugger API。无需 Playwright、Puppeteer 或 Node.js。
工作原理
传入 --bot-script=your-script.js 后,BotBrowser 在启动时将文件加载到特权上下文中。你可以:
- 完全访问
chrome.debuggerAPI,直接发送 CDP 命令。 - 页面上下文中没有框架痕迹。
- 在首次页面导航完成前执行。
- 使用标准浏览器 API:
console、setTimeout、fetch等。
快速开始
创建 my-script.js:
chrome.debugger.getTargets(function (targets) {
const page = targets.find((t) => t.type === "page");
if (!page) return;
chrome.debugger.attach({ targetId: page.id }, "1.3", function () {
if (chrome.runtime.lastError) {
console.log("Attach failed:", chrome.runtime.lastError.message);
return;
}
chrome.debugger.sendCommand(
{ targetId: page.id },
"Page.navigate",
{ url: "https://example.com" },
function () {
console.log("Navigation started.");
}
);
});
});
使用配置文件和脚本启动 BotBrowser:
chromium-browser \
--bot-profile="/path/to/profile.enc" \
--bot-script="/path/to/my-script.js"
Bot Script 与 Playwright/Puppeteer 对比
| Bot Script | Playwright / Puppeteer | |
|---|---|---|
| 依赖 | 无 | Node.js + npm 包 |
| API 风格 | 回调式 chrome.debugger | Promise 式,高级选择器 |
| 启动时间 | 即时 | 需要安装和配置 |
| 适用场景 | 轻量级单页任务 | 复杂多步骤工作流 |
故障排除
"chrome.debugger API not available":确保使用了 --bot-script 参数。
脚本不执行:--bot-script 使用绝对路径。
Attach 失败:可能已有其他调试会话连接。先调用 chrome.debugger.detach()。
了解更多
#bot-script#automation#cdp#getting-started#framework-less