page_getElement
Retrieve page elements using CSS selectors in WeChat Mini Program development for automation and testing purposes.
Instructions
通过选择器获取页面元素。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| connection | No | ||
| selector | Yes | ||
| innerSelector | No |
Implementation Reference
- src/tools/page.ts:58-73 (handler)The execute function that handles the page_getElement tool: parses input parameters, connects to the page via manager, resolves the element using the selector and optional innerSelector, summarizes the element, and returns a formatted JSON text result.execute: async (rawArgs, context: ToolContext) => { const args = getElementParameters.parse(rawArgs ?? {}); return manager.withPage<ContentResult>( context.log, { overrides: args.connection }, async (page) => { const element = await resolveElement( page, args.selector, args.innerSelector ); const summary = await summarizeElement(element); return toTextResult(formatJson(summary)); } ); },
- src/tools/page.ts:37-40 (schema)Zod schema defining the input parameters for the page_getElement tool, extending connectionContainerSchema with required selector and optional innerSelector.const getElementParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), innerSelector: z.string().trim().min(1).optional(), });
- src/tools/page.ts:42-51 (registration)Registers the page_getElement tool (via createGetElementTool) among other page tools in the createPageTools function.export function createPageTools(manager: WeappAutomatorManager): AnyTool[] { return [ createGetElementTool(manager), createWaitForElementTool(manager), createWaitForTimeoutTool(manager), createGetPageDataTool(manager), createSetPageDataTool(manager), createCallPageMethodTool(manager), ]; }
- src/tools.ts:7-13 (registration)Aggregates and registers page tools (including page_getElement) with application and element tools in createTools.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 page_getElement, to the FastMCP server instance.server.addTools(createTools(manager));