click
Click on web page elements using CSS selectors to automate browser interactions for testing or data extraction tasks.
Instructions
Click on an element by selector
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | ||
| page_id | No |
Implementation Reference
- src/playwright_mcp/server.py:237-244 (handler)The main handler logic for the 'click' tool, which retrieves the selector from arguments, gets the active page, clicks the element, and returns a confirmation message.elif name == "click": selector = arguments.get("selector") if not selector: raise ValueError("Selector is required") page = get_active_page(arguments.get("page_id")) await page.click(selector) return [types.TextContent(type="text", text=f"Clicked element at selector: {selector}")]
- src/playwright_mcp/server.py:97-108 (registration)Registration of the 'click' tool in the list_tools() function, including name, description, and input schema definition.types.Tool( name="click", description="Click on an element by selector", inputSchema={ "type": "object", "properties": { "selector": {"type": "string"}, "page_id": {"type": "string"}, }, "required": ["selector"], }, ),
- src/playwright_mcp/server.py:200-210 (helper)Helper function used by the 'click' handler (and others) to retrieve the active Playwright Page instance based on the provided page_id or the current default.def get_active_page(page_id: Optional[str] = None) -> Page: """Get the active page based on page_id or current default.""" global current_page_id if page_id is None: page_id = current_page_id if page_id not in pages: raise ValueError(f"Page not found: {page_id}") return pages[page_id]