element_getData
Retrieve rendered data from custom components in WeChat Mini Programs using ID selectors to inspect component state during development.
Instructions
获取组件实例渲染数据,仅自定义组件可以使用。需要 automator 0.6.0 和基础库 2.9.0 及以上版本。使用 ID 选择器(如 #my-component)定位自定义组件。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| connection | No | ||
| selector | Yes | ||
| innerSelector | No | ||
| path | No |
Implementation Reference
- src/tools/element.ts:177-207 (handler)The handler function createGetElementDataTool that creates the tool object with name, description, parameters schema, and the execute logic which resolves the element and fetches its data using element.data().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), }) ); } ); }, }; }
- src/tools/element.ts:35-39 (schema)Zod schema defining the input parameters: selector, optional innerSelector, and optional path for the data.const getElementDataParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), innerSelector: z.string().trim().min(1).optional(), path: z.string().trim().min(1).optional(), });
- src/tools/element.ts:70-84 (registration)Local registration of element_getData tool within the createElementTools function, which returns an array of element-related 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)Top-level registration where createElementTools is called to include the element tools, including element_getData, in the overall tools array.export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(manager), ]; }