Skip to main content
Glama

element_getData

Retrieve rendered data from custom component instances in WeChat Mini Programs using ID selectors to inspect component state and properties during development.

Instructions

获取组件实例渲染数据,仅自定义组件可以使用。需要 automator 0.6.0 和基础库 2.9.0 及以上版本。使用 ID 选择器(如 #my-component)定位自定义组件。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectionNo
selectorYes
innerSelectorNo
pathNo

Implementation Reference

  • The createGetElementDataTool function defines the tool object including the execute handler that implements the core logic: resolves the element, fetches data using element.data(path), and returns formatted JSON.
    function createGetElementDataTool(manager: WeappAutomatorManager): AnyTool { return { name: "element_getData", description: "获取组件实例渲染数据,仅自定义组件可以使用。需要 automator 0.6.0 和基础库 2.9.0 及以上版本。使用 ID 选择器(如 #my-component)定位自定义组件。", parameters: getElementDataParameters, execute: async (rawArgs, context: ToolContext) => { const args = getElementDataParameters.parse(rawArgs ?? {}); return manager.withPage( context.log, { overrides: args.connection }, async (page) => { const element = await resolveElement( page, args.selector, args.innerSelector ); const data = await element.data(args.path); return toTextResult( formatJson({ selector: args.selector, innerSelector: args.innerSelector ?? null, path: args.path ?? null, data: toSerializableValue(data), }) ); } ); }, }; }
  • Zod schema for input parameters of element_getData tool: selector (required), innerSelector (optional), path (optional).
    const getElementDataParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), innerSelector: z.string().trim().min(1).optional(), path: z.string().trim().min(1).optional(), });
  • createElementTools registers the element_getData tool (line 77) among other element tools.
    export function createElementTools( manager: WeappAutomatorManager ): AnyTool[] { 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 includes all element tools via createElementTools, aggregating tools from different modules.
    export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(manager), ]; }
  • src/index.ts:17-17 (registration)
    Final MCP server registration: adds all tools (including element_getData) to the FastMCP server instance.
    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