--- sidebar_label: Frame.type --- # Frame.type() method Sends a `keydown`, `keypress`/`input`, and `keyup` event for each character in the text. **Signature:** ```typescript class Frame {type(selector: string, text: string, options?: { delay: number; }): Promise;} ``` ## Parameters | Parameter | Type | Description | | --- | --- | --- | | selector | string | the selector for the element to type into. If there are multiple the first will be used. | | text | string | text to type into the element | | options | { delay: number; } | (Optional) takes one option, delay, which sets the time to wait between key presses in milliseconds. Defaults to 0. | **Returns:** Promise<void> a promise that resolves when the typing is complete. ## Remarks To press a special key, like `Control` or `ArrowDown`, use [Keyboard.press()](./puppeteer.keyboard.press.md). ## Example ```ts await frame.type('#mytextarea', 'Hello'); // Types instantly await frame.type('#mytextarea', 'World', {delay: 100}); // Types slower, like a user ```