Browserbase
Stagehand 由 Browserbase 开发和维护。因此,Stagehand 在 Browserbase 上具有卓越的性能和可靠性。
Browserbase SDK 功能非常强大,可帮助您处理多种使用场景,例如:
- 验证码破解
- 自定义上下文和扩展
- 实时浏览器视图
- 代理轮换
- 会话录制
- 文件上传/下载
使用 Browserbase 非常简单,只需在 Stagehand 构造函数中设置 env: "BROWSERBASE":
const stagehand = new Stagehand({
env: "BROWSERBASE",
// Stagehand will automatically read your Browserbase API key and project ID from your environment variables
// If you'd like to pass in your own API key and project ID, you can do so like this:
apiKey: process.env.BROWSERBASE_API_KEY,
projectId: process.env.BROWSERBASE_PROJECT_ID,
});
创建 Browserbase 会话
要创建自定义 Browserbase 会话,可以向 Stagehand 构造函数传入 browserbaseSessionCreateParams。有关 browserbaseSessionCreateParams 对象的完整文档,请参阅 Browserbase API 文档。
const stagehand = new Stagehand({
env: "BROWSERBASE",
browserbaseSessionCreateParams: {
projectId: "your-project-id",
extensionId: 'your-extension-id',
browserSettings: {
viewport: {
width: 1920,
height: 1080,
},
proxies: [
{
type: 'external',
server: 'your-proxy-server',
username: 'your-proxy-username',
password: 'your-proxy-password',
},
],
context: {
id: 'your-context-id',
},
},
},
});
恢复现有 Browserbase 会话
您可以通过向 Stagehand 构造函数传入 browserbaseSessionId 来重新连接到现有的 Browserbase 会话。
const stagehand = new Stagehand({
env: "BROWSERBASE",
browserbaseSessionId: "your-session-id",
});
您也可以传入 browserbaseSessionCreateParams,但如果提供了 browserbaseSessionId,该参数将被忽略。
const stagehand = new Stagehand({
env: "BROWSERBASE",
browserbaseSessionId: "your-session-id",
// This will be ignored because we're providing a browserbaseSessionId
browserbaseSessionCreateParams: {
projectId: "your-project-id",
},
});
本地浏览器定制
Stagehand 允许您通过多种方式自定义本地浏览器。
您可以使用 localBrowserLaunchOptions 类型 来自定义 Stagehand 使用的浏览器。
const stagehand = new Stagehand({
localBrowserLaunchOptions: {
cdpUrl: 'your-cdp-url',
}
})
使用个人浏览器
cdpUrl 配置 仅在 Stagehand 2.0+ 版本中支持。
Stagehand 可与任何基于 Chromium 的浏览器配合使用,例如 Arc、Brave、Chrome、Dia 和 Edge!为此,您可以传入 cdpUrl 连接远程浏览器,或传入 executablePath 使用本地浏览器可执行文件。
您还需要以”调试”模式打开浏览器。例如,在 Mac 上使用 Chrome 时,可通过以下命令启动:
open -a "Google Chrome" --args --remote-debugging-port=9222
这将启用远程调试功能并在 9222 端口打开 Chrome。随后您可以将 cdpUrl 传递给 Stagehand,如下所示:
const stagehand = new Stagehand({
localBrowserLaunchOptions: {
cdpUrl: 'http://localhost:9222',
},
});