playwright_fill
Automate filling input fields on web pages using a CSS selector and specified value. Simplify web interactions with precise field targeting and data input.
Instructions
Fill out an input field
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS selector for input field | |
| value | Yes | Value to fill |
Implementation Reference
- src/playwright_server/server.py:249-258 (handler)The FillToolHandler class implements the core logic for the 'playwright_fill' tool. It retrieves the active Playwright page session, locates the element by CSS selector, fills it with the provided value using page.locator().fill(), and returns a confirmation message.class FillToolHandler(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"] selector = arguments.get("selector") value = arguments.get("value") await page.locator(selector).fill(value) return [types.TextContent(type="text", text=f"Filled element with selector {selector} with value {value}")]
- The JSON Schema for the 'playwright_fill' tool defines the required input parameters: 'selector' (CSS selector for the input field) and 'value' (string to fill into the field).types.Tool( name="playwright_fill", description="Fill out an input field", inputSchema={ "type": "object", "properties": { "selector": {"type": "string", "description": "CSS selector for input field"}, "value": {"type": "string", "description": "Value to fill"} }, "required": ["selector", "value"] } ),
- src/playwright_server/server.py:334-344 (registration)The 'playwright_fill' tool is registered in the global 'tool_handlers' dictionary, mapping the tool name to an instance of FillToolHandler. This dictionary is used by the @server.call_tool() handler to dispatch tool calls.tool_handlers = { "playwright_navigate": NavigateToolHandler(), "playwright_screenshot": ScreenshotToolHandler(), "playwright_click": ClickToolHandler(), "playwright_fill": FillToolHandler(), "playwright_evaluate": EvaluateToolHandler(), "playwright_click_text": ClickTextToolHandler(), "playwright_get_text_content": GetTextContentToolHandler(), "playwright_get_html_content": GetHtmlContentToolHandler(), "playwright_new_session":NewSessionToolHandler(), }