代码执行
🌐 Code Execution
运行 Playwright 代码以实现超出单个工具调用的复杂交互。
🌐 Run Playwright code for complex interactions beyond individual tool calls.
browser_run_code
执行一个 Playwright 代码片段。该函数接收一个包含完整 Playwright API 的 page 对象。
🌐 Execute a Playwright code snippet. The function receives a page object with the full Playwright API.
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
code | 字符串 | 是 | 要执行的 Playwright 代码 |
验证元素内容
🌐 Verify element content
→ browser_run_code {
code: "async (page) => { return await page.getByTestId('todo-count').textContent(); }"
}
"3 items left"
设置地理位置
🌐 Set geolocation
→ browser_run_code {
code: "async (page) => { await page.context().grantPermissions(['geolocation']); await page.context().setGeolocation({ latitude: 37.7749, longitude: -122.4194 }); }"
}
等待特定条件
🌐 Wait for specific condition
→ browser_run_code {
code: "async (page) => { await page.waitForSelector('.loading', { state: 'hidden' }); return 'Loading complete'; }"
}
"Loading complete"
处理 iframes
🌐 Handle iframes
→ browser_run_code {
code: "async (page) => { const frame = page.frameLocator('#payment-iframe'); return await frame.locator('.total').textContent(); }"
}
"$49.99"
剪贴板操作
🌐 Clipboard operations
→ browser_run_code {
code: "async (page) => { await page.context().grantPermissions(['clipboard-read', 'clipboard-write']); return await page.evaluate(() => navigator.clipboard.readText()); }"
}
browser_evaluate
直接在页面或特定元素上评估 JavaScript。
🌐 Evaluate JavaScript directly on the page or a specific element.
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
expression | 字符串 | 是 | 要执行的 JavaScript |
ref | 字符串 | 否 | 要执行的元素引用 |
→ browser_evaluate { expression: "document.title" }
"TodoMVC - React"
→ browser_evaluate { expression: "el => el.getAttribute('data-testid')", ref: "e15" }
"submit-button"
→ browser_evaluate { expression: "window.innerWidth + 'x' + window.innerHeight" }
"1280x720"
何时使用代码执行
🌐 When to use code execution
| 场景 | 用途 |
|---|---|
| 点击按钮 | browser_click |
| 填写表单字段 | browser_type 或 browser_fill_form |
| 读取元素文本 | browser_snapshot |
| 检查计算样式 | browser_evaluate |
| 复杂多步骤逻辑 | browser_run_code |
| 地理位置/权限 | browser_run_code |
| 自定义等待条件 | browser_run_code |
| iframe 交互 | browser_run_code |