playwright_select
Select options in dropdown elements on web pages using CSS selectors and values for browser automation tasks.
Instructions
Select an element on the page with Select tag
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS selector for element to select | |
| value | Yes | Value to select |
Implementation Reference
- src/toolsHandler.ts:230-249 (handler)The handler function for the 'playwright_select' tool. It waits for the selector, selects the option using Playwright's selectOption method, and returns success or error message.case "playwright_select": try { await page!.waitForSelector(args.selector); await page!.selectOption(args.selector, args.value); return { content: [{ type: "text", text: `Selected ${args.selector} with: ${args.value}`, }], isError: false, }; } catch (error) { return { content: [{ type: "text", text: `Failed to select ${args.selector}: ${(error as Error).message}`, }], isError: true, }; }
- src/tools.ts:60-71 (schema)The input schema and metadata definition for the 'playwright_select' tool, including name, description, and required parameters.{ name: "playwright_select", description: "Select an element on the page with Select tag", inputSchema: { type: "object", properties: { selector: { type: "string", description: "CSS selector for element to select" }, value: { type: "string", description: "Value to select" }, }, required: ["selector", "value"], }, },
- src/index.ts:22-26 (registration)Registration of all tools, including 'playwright_select', by creating the tool definitions array and setting up the request handlers that expose them via MCP.// Create tool definitions const TOOLS = createToolDefinitions(); // Setup request handlers setupRequestHandlers(server, TOOLS);
- src/tools.ts:156-164 (helper)Helper constant listing browser-requiring tools, including 'playwright_select', used in handleToolCall to conditionally launch the browser.export const BROWSER_TOOLS = [ "playwright_navigate", "playwright_screenshot", "playwright_click", "playwright_fill", "playwright_select", "playwright_hover", "playwright_evaluate" ];
- src/requestHandler.ts:64-67 (registration)Registers the generic tool call handler which dispatches to the specific handler (like playwright_select) based on the tool name.// Call tool handler server.setRequestHandler(CallToolRequestSchema, async (request) => handleToolCall(request.params.name, request.params.arguments ?? {}, server) );