browser_hover
Hover over web page elements to trigger interactive features like dropdown menus or tooltips during browser automation testing with Playwright MCP.
Instructions
Hover over element on page
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| element | Yes | Human-readable element description used to obtain permission to interact with the element | |
| ref | Yes | Exact target element reference from the page snapshot |
Implementation Reference
- src/tools/snapshot.ts:121-136 (handler)The handler function that executes the browser_hover tool logic: hovers over the element using the locator from the page snapshot.handle: async (context, params) => { const snapshot = context.currentTabOrDie().snapshotOrDie(); const locator = snapshot.refLocator(params); const code = [ `// Hover over ${params.element}`, `await page.${await generateLocator(locator)}.hover();` ]; return { code, action: () => locator.hover(), captureSnapshot: true, waitForNetwork: true, }; },
- src/tools/snapshot.ts:113-119 (schema)Schema definition for the browser_hover tool, specifying name, title, description, inputSchema (elementSchema), and type.schema: { name: 'browser_hover', title: 'Hover mouse', description: 'Hover over element on page', inputSchema: elementSchema, type: 'readOnly', },
- src/tools/snapshot.ts:44-47 (schema)Zod schema for element input, used by browser_hover and other interaction tools.const elementSchema = z.object({ element: z.string().describe('Human-readable element description used to obtain permission to interact with the element'), ref: z.string().describe('Exact target element reference from the page snapshot'), });
- src/tools/snapshot.ts:219-226 (registration)Local registration: hover tool included in the default export array from snapshot.tsexport default [ snapshot, click, drag, hover, type, selectOption, ];
- src/tools.ts:35-50 (registration)Global registration: snapshotTools array includes ...snapshot (which exports browser_hover), used by the MCP server.export const snapshotTools: Tool<any>[] = [ ...common(true), ...console, ...dialogs(true), ...files(true), ...install, ...keyboard(true), ...navigate(true), ...network, ...pdf, ...screenshot, ...snapshot, ...tabs(true), ...testing, ...wait(true), ];