browser_hover
Hover over a web page element by providing its CSS selector. Simulate mouse hover interactions to trigger tooltips, dropdowns, or dynamic content changes.
Instructions
Hover over an element on the page
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS selector for element to hover over |
Implementation Reference
- src/executor.ts:430-454 (handler)Main handler function for 'browser_hover'. Uses Playwright's page.waitForSelector() and page.hover() to hover over an element identified by a CSS selector. Returns success or error messages.
async function handleBrowserHover(page: Page, args: any): Promise<{ toolResult: CallToolResult }> { try { await page.waitForSelector(args.selector); await page.hover(args.selector); return { toolResult: { content: [{ type: "text", text: `Hovered over element: ${args.selector}`, }], isError: false, }, }; } catch (error) { return { toolResult: { content: [{ type: "text", text: `Hover failed on ${args.selector}: ${(error as Error).message}`, }], isError: true, }, }; } } - src/tools.ts:108-118 (schema)Schema/definition for 'browser_hover' tool. Defines the name, description, and inputSchema requiring a 'selector' (CSS selector string). Registered as part of the tool list.
{ name: "browser_hover", description: "Hover over an element on the page", inputSchema: { type: "object", properties: { selector: { type: "string", description: "CSS selector for element to hover over" } }, required: ["selector"] } }, - src/executor.ts:203-204 (registration)Dispatch/case statement in executeToolCall that routes 'browser_hover' to handleBrowserHover handler.
case "browser_hover": return await handleBrowserHover(activePage!, args); - src/tools.ts:9-9 (registration)List of browser tool names (BROWSER_TOOLS) including 'browser_hover' to identify it as a browser tool.
"browser_hover",