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), ]; }