page_waitElement
Waits for a specified selector's element to appear on a WeChat Mini Program page, ensuring elements are available before interaction. Use for page-level elements only.
Instructions
等待指定选择器的元素出现在页面上。注意:此方法不适用于自定义组件内部元素,仅能等待页面级别的元素。如需等待自定义组件内部元素,请使用 page_waitTimeout 配合 element 相关工具进行轮询检查。
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| connection | No | ||
| selector | Yes |
Implementation Reference
- src/tools/page.ts:77-94 (handler)Defines the tool handler for 'page_waitElement'. The execute function validates input, acquires the page via manager.withPage, waits for the element with page.waitFor(selector), and returns a success message.function createWaitForElementTool(manager: WeappAutomatorManager): AnyTool { return { name: "page_waitElement", description: "等待指定选择器的元素出现在页面上。注意:此方法不适用于自定义组件内部元素,仅能等待页面级别的元素。如需等待自定义组件内部元素,请使用 page_waitTimeout 配合 element 相关工具进行轮询检查。", parameters: waitForElementParameters, execute: async (rawArgs, context: ToolContext) => { const args = waitForElementParameters.parse(rawArgs ?? {}); return manager.withPage<ContentResult>( context.log, { overrides: args.connection }, async (page) => { await page.waitFor(args.selector); return toTextResult(`已等待元素选择器 "${args.selector}" 出现。`); } ); }, }; }
- src/tools/page.ts:29-31 (schema)Zod schema defining the input parameters for the page_waitElement tool: a connection container and a required selector string.const waitForElementParameters = connectionContainerSchema.extend({ selector: z.string().trim().min(1), });
- src/tools/page.ts:42-51 (registration)Registers the page_waitElement tool by including createWaitForElementTool(manager) in the array of page tools returned by createPageTools.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_waitElement) by spreading createPageTools(manager) into the full tools array.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_waitElement, to the FastMCP server.server.addTools(createTools(manager));