Skip to main content
Glama

hover

Simulate mouse hover over a webpage element using a CSS selector for automated testing and interaction on ARM64 devices with the Chromium browser.

Instructions

Hover over an element on the page

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
selectorYesCSS selector for the element to hover

Implementation Reference

  • The core handler function for the 'hover' tool. It ensures the browser is ready, queries the DOM for the specified selector, calculates the element's center position using getBoxModel, dispatches a mouseMoved event via CDP to simulate hovering, and returns a success message.
    async hover(selector) { await this.ensureChromium(); const doc = await this.sendCDPCommand('DOM.getDocument'); const element = await this.sendCDPCommand('DOM.querySelector', { nodeId: doc.root.nodeId, selector }); if (!element.nodeId) { throw new Error(`Element not found: ${selector}`); } const box = await this.sendCDPCommand('DOM.getBoxModel', { nodeId: element.nodeId }); const quad = box.model.content; const x = (quad[0] + quad[4]) / 2; const y = (quad[1] + quad[5]) / 2; await this.sendCDPCommand('Input.dispatchMouseEvent', { type: 'mouseMoved', x, y }); return { content: [{ type: 'text', text: `Hovered over element: ${selector}` }], }; }
  • Input schema definition for the 'hover' tool in the ListTools response, specifying the required 'selector' parameter of type string.
    { name: 'hover', description: 'Hover over an element on the page', inputSchema: { type: 'object', properties: { selector: { type: 'string', description: 'CSS selector for the element to hover', }, }, required: ['selector'], }, },
  • index.js:363-364 (registration)
    Tool dispatch registration in the CallToolRequestSchema handler switch statement, mapping 'hover' calls to the hover method.
    case 'hover': return await this.hover(args.selector);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nfodor/claude-arm64-browser'

If you have feedback or need assistance with the MCP directory API, please join our Discord server