playwright_evaluate
Execute JavaScript code directly in the browser console to automate web interactions, extract data, or manipulate page elements during browser automation sessions.
Instructions
Execute JavaScript in the browser console
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | JavaScript code to execute |
Implementation Reference
- src/tools/browser/interaction.ts:236-255 (handler)The EvaluateTool class implements the core logic for the playwright_evaluate tool by executing the provided JavaScript script on the browser page using page.evaluate and returning the result.export class EvaluateTool extends BrowserToolBase { /** * Execute the evaluate tool */ async execute(args: any, context: ToolContext): Promise<ToolResponse> { return this.safeExecute(context, async (page) => { const result = await page.evaluate(args.script); // Convert result to string for display let resultStr: string; try { resultStr = JSON.stringify(result, null, 2); } catch (_error) { resultStr = String(result); } return createSuccessResponse([`Executed JavaScript:`, `${args.script}`, `Result:`, `${resultStr}`]); }); } }
- src/tools.ts:227-236 (schema)Schema definition for the playwright_evaluate tool, specifying the input parameters.name: "playwright_evaluate", description: "Execute JavaScript in the browser console", inputSchema: { type: "object", properties: { script: { type: "string", description: "JavaScript code to execute" }, }, required: ["script"], }, },
- src/toolHandler.ts:606-607 (registration)Tool registration in the main handleToolCall switch statement, which dispatches calls to the EvaluateTool instance.case "playwright_evaluate": return await evaluateTool.execute(args, context);
- src/toolHandler.ts:399-399 (registration)Instantiation of the EvaluateTool instance during tool initialization.if (!evaluateTool) evaluateTool = new EvaluateTool(server);
- src/tools.ts:503-503 (helper)Inclusion in BROWSER_TOOLS array used to determine browser requirements."playwright_evaluate",