element_input
Input text into specific elements in WeChat Mini Program pages, including nested components using inner selector parameters for precise targeting.
Instructions
向指定元素输入文本。如需向自定义组件内部的元素输入,请使用 innerSelector 参数:selector 设为组件 ID 选择器(如 #my-component),innerSelector 设为组件内部元素的选择器。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| connection | No | ||
| selector | Yes | ||
| innerSelector | No | ||
| value | Yes |
Implementation Reference
- src/tools/element.ts:116-141 (handler)The createInputTextTool function returns the tool definition including the execute handler which parses args, resolves the element using resolveElement, calls element.input(value), and returns a success message.function createInputTextTool(manager: WeappAutomatorManager): AnyTool { return { name: "element_input", description: "向指定元素输入文本。如需向自定义组件内部的元素输入,请使用 innerSelector 参数:selector 设为组件 ID 选择器(如 #my-component),innerSelector 设为组件内部元素的选择器。", parameters: inputTextParameters, execute: async (rawArgs, context: ToolContext) => { const args = inputTextParameters.parse(rawArgs ?? {}); return manager.withPage( context.log, { overrides: args.connection }, async (page) => { const element = await resolveElement( page, args.selector, args.innerSelector ); await element.input(args.value); return toTextResult( `已向元素 "${args.selector}"${args.innerSelector ? ` -> "${args.innerSelector}"` : ""} 输入值 "${args.value}"。` ); } ); }, }; }
- src/tools/element.ts:22-26 (schema)Zod schema defining the input parameters for the element_input tool: selector (required string), innerSelector (optional string), value (string or number).const inputTextParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), innerSelector: z.string().trim().min(1).optional(), value: z.union([z.string(), z.coerce.number()]), });
- src/tools/element.ts:73-83 (registration)The element_input tool (via createInputTextTool) is registered in the array returned by createElementTools.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 the tools from createElementTools, which contains element_input.export function createTools(manager: WeappAutomatorManager): AnyTool[] { return [ ...createApplicationTools(manager), ...createPageTools(manager), ...createElementTools(manager), ]; }
- src/index.ts:17-17 (registration)Final registration of all tools, including element_input, to the FastMCP server.server.addTools(createTools(manager));