browser_hover
Simulate mouse hover interactions on web page elements using CSS selectors to trigger dynamic content or reveal hidden UI components.
Instructions
Hover an element on the page using CSS selector
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS selector for element to hover |
Implementation Reference
- index.ts:439-478 (handler)Handler implementation for the 'browser_hover' tool. It hovers over the element specified by the CSS selector using Playwright's page.locator(). Includes error handling for strict mode violations by retrying on the first matching element.case ToolName.BrowserHover: try { await page.locator(args.selector).hover(); return { content: [{ type: "text", text: `Hovered ${args.selector}`, }], isError: false, }; } catch (error) { if((error as Error).message.includes("strict mode violation")) { console.log("Strict mode violation, retrying on first element..."); try { await page.locator(args.selector).first().hover(); return { content: [{ type: "text", text: `Hovered ${args.selector}`, }], isError: false, }; } catch (error) { return { content: [{ type: "text", text: `Failed to hover ${args.selector}: ${(error as Error).message}`, }], isError: true, }; } } return { content: [{ type: "text", text: `Failed to hover ${args.selector}: ${(error as Error).message}`, }], isError: true, }; }
- index.ts:119-129 (registration)Registration of the 'browser_hover' tool in the TOOLS array, including its name, description, and input schema requiring a 'selector' parameter.{ name: ToolName.BrowserHover, description: "Hover an element on the page using CSS selector", inputSchema: { type: "object", properties: { selector: { type: "string", description: "CSS selector for element to hover" }, }, required: ["selector"], }, },
- index.ts:122-128 (schema)Input schema definition for the 'browser_hover' tool, specifying the required 'selector' string parameter.inputSchema: { type: "object", properties: { selector: { type: "string", description: "CSS selector for element to hover" }, }, required: ["selector"], },
- index.ts:30-33 (registration)Enum definition mapping ToolName.BrowserHover to the string 'browser_hover'.BrowserHover = "browser_hover", BrowserHoverText = "browser_hover_text", BrowserEvaluate = "browser_evaluate" }