browser_press_key
Simulate keyboard key presses in automated browser testing scenarios. Integrate with Cloudflare Playwright MCP to control web browsers for precise interaction testing.
Instructions
Press a key on the keyboard
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| key | Yes | Name of the key to press or a character to generate, such as `ArrowLeft` or `a` |
Implementation Reference
- src/tools/keyboard.ts:33-49 (handler)The handler function for the browser_press_key tool. It presses the specified key on the current tab's page using Playwright's keyboard.press method, generates corresponding code snippet, and returns an action object.handle: async (context, params) => { const tab = context.currentTabOrDie(); const code = [ `// Press ${params.key}`, `await page.keyboard.press('${params.key}');`, ]; const action = () => tab.page.keyboard.press(params.key); return { code, action, captureSnapshot, waitForNetwork: true }; },
- src/tools/keyboard.ts:23-31 (schema)Schema definition for the browser_press_key tool, including name, title, description, input schema with 'key' parameter validated by Zod, and type 'destructive'.schema: { name: 'browser_press_key', title: 'Press a key', description: 'Press a key on the keyboard', inputSchema: z.object({ key: z.string().describe('Name of the key to press or a character to generate, such as `ArrowLeft` or `a`'), }), type: 'destructive', },
- src/tools/keyboard.ts:52-54 (registration)Exports and registers the browser_press_key tool by including it in the array returned from the tool factory with captureSnapshot parameter.export default (captureSnapshot: boolean) => [ pressKey(captureSnapshot), ];