Skip to main content
Glama

element_callMethod

Execute specific methods on custom component instances in WeChat Mini Programs using selector targeting to trigger component behaviors and functionality.

Instructions

调用组件实例指定方法,仅自定义组件可以使用。需要 automator 0.6.0 和基础库 2.9.0 及以上版本。使用 ID 选择器(如 #my-component)定位自定义组件。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectionNo
selectorYes
innerSelectorNo
methodYes
argsNo

Implementation Reference

  • Zod schema defining the input parameters: selector, optional innerSelector, method, and optional args array.
    const callElementMethodParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), innerSelector: z.string().trim().min(1).optional(), method: z.string().trim().min(1), args: z.array(z.unknown()).optional(), });
  • The execute handler: parses arguments, resolves the target element, invokes the specified method with given arguments on the element, and returns a JSON-formatted result including the method call details.
    execute: async (rawArgs, context: ToolContext) => { const args = callElementMethodParameters.parse(rawArgs ?? {}); return manager.withPage( context.log, { overrides: args.connection }, async (page) => { const element = await resolveElement( page, args.selector, args.innerSelector ); const callArgs = args.args ?? []; const result = await element.callMethod(args.method, ...callArgs); return toTextResult( formatJson({ selector: args.selector, innerSelector: args.innerSelector ?? null, method: args.method, arguments: callArgs, result: toSerializableValue(result), }) ); } );
  • Registration within createElementTools: includes createCallElementMethodTool in the array of element tools.
    return [ createTapElementTool(manager), createInputTextTool(manager), createCallElementMethodTool(manager), createGetElementDataTool(manager), createSetElementDataTool(manager), createGetInnerElementTool(manager), createGetInnerElementsTool(manager), createGetElementSizeTool(manager), createGetElementWxmlTool(manager), ];
  • src/tools.ts:7-13 (registration)
    createTools aggregates tools from modules, including element tools containing element_callMethod.
    export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(manager), ]; }
  • src/index.ts:17-17 (registration)
    Top-level MCP server registration: adds all tools including element_callMethod via createTools.
    server.addTools(createTools(manager));

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/yfmeii/weapp-dev-mcp'

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