Skip to main content
Glama

click

Click elements on web pages using CSS selectors for browser automation and UI testing with the chromium-arm64 MCP server.

Instructions

Click an element on the page

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
selectorYesCSS selector for the element to click

Implementation Reference

  • Core implementation of the 'click' MCP tool handler. Locates the target element using DOM.querySelector via CDP, computes its center coordinates from the box model, and simulates a left mouse click using Input.dispatchMouseEvent commands.
    async click(selector) {
      await this.ensureChromium();
      
      // Find element
      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}`);
      }
    
      // Get element box
      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;
    
      // Click
      await this.sendCDPCommand('Input.dispatchMouseEvent', {
        type: 'mousePressed',
        x, y,
        button: 'left',
        clickCount: 1
      });
      
      await this.sendCDPCommand('Input.dispatchMouseEvent', {
        type: 'mouseReleased',
        x, y,
        button: 'left',
        clickCount: 1
      });
      
      return {
        content: [{ type: 'text', text: `Clicked element: ${selector}` }],
      };
    }
  • Tool schema definition including name, description, and input schema requiring a 'selector' string parameter.
      name: 'click',
      description: 'Click an element on the page',
      inputSchema: {
        type: 'object',
        properties: {
          selector: {
            type: 'string',
            description: 'CSS selector for the element to click',
          },
        },
        required: ['selector'],
      },
    },
  • index.js:355-356 (registration)
    Registration of the click handler in the MCP CallToolRequestSchema request handler switch statement, dispatching to the click method.
    case 'click':
      return await this.click(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