Skip to main content

代码执行

🌐 Code Execution

运行 Playwright 代码以实现超出单个工具调用的复杂交互。

🌐 Run Playwright code for complex interactions beyond individual tool calls.

browser_run_code

执行一个 Playwright 代码片段。该函数接收一个包含完整 Playwright APIpage 对象。

🌐 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_typebrowser_fill_form
读取元素文本browser_snapshot
检查计算样式browser_evaluate
复杂多步骤逻辑browser_run_code
地理位置/权限browser_run_code
自定义等待条件browser_run_code
iframe 交互browser_run_code