[Home](./index.md) > [puppeteer](./puppeteer.md) > [ElementHandle](./puppeteer.elementhandle.md) > [type](./puppeteer.elementhandle.type.md) ## ElementHandle.type() method Focuses the element, and then sends a `keydown`, `keypress`/`input`, and `keyup` event for each character in the text. To press a special key, like `Control` or `ArrowDown`, use [ElementHandle.press()](./puppeteer.elementhandle.press.md). Signature: ```typescript type(text: string, options?: { delay: number; }): Promise; ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | text | string | | | options | { delay: number; } | | Returns: Promise<void> ## Example 1 ```js await elementHandle.type('Hello'); // Types instantly await elementHandle.type('World', {delay: 100}); // Types slower, like a user ``` ## Example 2 An example of typing into a text field and then submitting the form: ```js const elementHandle = await page.$('input'); await elementHandle.type('some text'); await elementHandle.press('Enter'); ```