puppeteer_hover
Hover over a specific element on a webpage using its CSS selector for automated interactions, powered by Puppeteer browser automation.
Instructions
Hover an element on the page
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | CSS selector for element to hover |
Implementation Reference
- src/tools/handlers.ts:203-222 (handler)The switch case in handleToolCall function that implements the puppeteer_hover tool logic: waits for selector and hovers over it using Puppeteer.case "puppeteer_hover": try { await page.waitForSelector(args.selector); await page.hover(args.selector); 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, }; }
- src/tools/definitions.ts:83-93 (schema)Tool schema definition including name, description, and input schema requiring a CSS selector.{ name: "puppeteer_hover", description: "Hover an element on the page", inputSchema: { type: "object", properties: { selector: { type: "string", description: "CSS selector for element to hover" }, }, required: ["selector"], }, },
- src/server.ts:35-37 (registration)Server request handler for listing tools, which returns the TOOLS array including puppeteer_hover schema.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS, }));
- src/server.ts:39-41 (registration)Server request handler for calling tools, which delegates to handleToolCall that contains the puppeteer_hover implementation.server.setRequestHandler(CallToolRequestSchema, async (request) => handleToolCall(request.params.name, request.params.arguments ?? {}, state, server) );