Agent
自动化完整工作流。
文档索引
可在此获取完整文档索引:https://docs.stagehand.dev/llms.txt
在进一步浏览前,可使用该文件发现所有可用页面。
使用 Stagehand 与 Selenium 协同操作同一个浏览器
Stagehand v3 可以与 Selenium WebDriver 并行协作,让两者同时操作同一个浏览器会话。这样你就能把 Stagehand 的 AI 自动化能力,与 Selenium 精确的元素交互能力结合起来。
安装 Stagehand、Selenium 和 Browserbase SDK:
npm install @browserbasehq/stagehand selenium-webdriver @browserbasehq/sdk使用 Browserbase SDK 创建一个可以同时被两套工具连接的会话:
import http from 'http';import { Builder, Key } from 'selenium-webdriver';import Browserbase from '@browserbasehq/sdk';import { Stagehand } from '@browserbasehq/stagehand';
const bb = new Browserbase({ apiKey: process.env.BROWSERBASE_API_KEY,});
// 创建共享会话const session = await bb.sessions.create({});
console.log('Session created:', session.id);使用该会话 ID 初始化 Stagehand:
const stagehand = new Stagehand({ env: 'BROWSERBASE', browserbaseSessionID: session.id, model: 'openai/gpt-5', verbose: 2,});
await stagehand.init();通过会话的签名 key 自定义 HTTP agent:
// 创建带签名 key 的自定义 HTTP agentconst customHttpAgent = new http.Agent({});(customHttpAgent as any).addRequest = (req: any, options: any) => { req.setHeader('x-bb-signing-key', session.signingKey); (http.Agent.prototype as any).addRequest.call(customHttpAgent, req, options);};
// 连接 Selenium WebDriverconst driver = new Builder() .forBrowser('chrome') .usingHttpAgent(customHttpAgent) .usingServer(session.seleniumRemoteUrl) .build();此时 Stagehand 与 Selenium 将共同操作同一个浏览器:
// 使用 Stagehand 导航const page = stagehand.context.pages()[0];await page.goto('https://www.google.com');
// 用 Stagehand AI 提取页面内容const pageContent = await stagehand.extract();console.log('Page content:', pageContent);
// 用 Selenium 精确操作元素const searchBox = await driver.findElement({ name: 'q' });await searchBox.sendKeys('Browserbase automation');await searchBox.sendKeys(Key.RETURN);
// 等待结果await driver.sleep(2000);
console.log('Search completed!');signingKeysession.seleniumRemoteUrlawait stagehand.close())与 Selenium(await driver.quit())Agent
自动化完整工作流。
Act
在网页上执行动作。
Extract
从页面提取结构化数据。
Observe
观察并定位页面元素。