Skip to main content
Glama

element_getWxml

Extract WXML code from WeChat Mini Program elements to inspect component structure, supporting both inner content and outer markup retrieval for development analysis.

Instructions

获取元素 WXML。默认获取内部 WXML(element.wxml()),设置 outer 为 true 可获取包含元素本身的 WXML(element.outerWxml())。如需获取自定义组件内部元素的 WXML,请使用 innerSelector 参数:selector 设为组件 ID 选择器(如 #my-component),innerSelector 设为组件内部元素的选择器。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
connectionNo
selectorYes
innerSelectorNo
outerNo

Implementation Reference

  • Factory function defining the 'element_getWxml' tool, including its execute handler that resolves the element and calls wxml() or outerWxml() method.
    function createGetElementWxmlTool(manager: WeappAutomatorManager): AnyTool { return { name: "element_getWxml", description: "获取元素 WXML。默认获取内部 WXML(element.wxml()),设置 outer 为 true 可获取包含元素本身的 WXML(element.outerWxml())。如需获取自定义组件内部元素的 WXML,请使用 innerSelector 参数:selector 设为组件 ID 选择器(如 #my-component),innerSelector 设为组件内部元素的选择器。", parameters: getElementWxmlParameters, execute: async (rawArgs, context: ToolContext) => { const args = getElementWxmlParameters.parse(rawArgs ?? {}); return manager.withPage( context.log, { overrides: args.connection }, async (page) => { const element = await resolveElement( page, args.selector, args.innerSelector ); const methodName = args.outer ? "outerWxml" : "wxml"; if (typeof element[methodName] !== "function") { throw new UserError( `元素 "${args.selector}" 不支持获取 ${methodName}。` ); } const wxml = await element[methodName](); return toTextResult( formatJson({ selector: args.selector, innerSelector: args.innerSelector ?? null, type: args.outer ? "outerWxml" : "wxml", wxml: toSerializableValue(wxml), }) ); } ); }, }; }
  • Zod schema defining the input parameters for the 'element_getWxml' tool.
    const getElementWxmlParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), innerSelector: z.string().trim().min(1).optional(), outer: z.boolean().optional().default(false), });
  • Registration of 'element_getWxml' tool within the createElementTools factory function.
    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 (including 'element_getWxml') is spread into the main tools array.
    export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(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