playwright_evaluate
Execute JavaScript in the browser console to automate web interactions, enhance functionality, or retrieve dynamic content using MCP's Playwright-powered server.
Instructions
Execute JavaScript in the browser console
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes | JavaScript code to execute |
Implementation Reference
- src/playwright_server/server.py:260-269 (handler)EvaluateToolHandler class: Executes JavaScript code in the browser page context using page.evaluate() and returns the result.class EvaluateToolHandler(ToolHandler): async def handle(self, name: str, arguments: dict | None) -> list[types.TextContent | types.ImageContent | types.EmbeddedResource]: if not self._sessions: return [types.TextContent(type="text", text="No active session. Please create a new session first.")] session_id = list(self._sessions.keys())[-1] page = self._sessions[session_id]["page"] script = arguments.get("script") result = await page.evaluate(script) return [types.TextContent(type="text", text=f"Evaluated script, result: {result}")]
- Tool schema definition in list_tools(): Specifies input as a 'script' string required.types.Tool( 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/playwright_server/server.py:339-339 (registration)Registration of EvaluateToolHandler in the tool_handlers dictionary used by call_tool handler."playwright_evaluate": EvaluateToolHandler(),