[Home](./index.md) > [puppeteer](./puppeteer.md) > [Keyboard](./puppeteer.keyboard.md) > [type](./puppeteer.keyboard.type.md)
## Keyboard.type() method
Sends a `keydown`, `keypress`/`input`, and `keyup` event for each character in the text.
Signature:
```typescript
type(text: string, options?: {
delay?: number;
}): Promise;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| text | string | A text to type into a focused element. |
| options | { delay?: number; } | An object of options. Accepts delay which, if specified, is the time to wait between keydown
and keyup
in milliseconds. Defaults to 0. |
Returns:
Promise<void>
## Remarks
To press a special key, like `Control` or `ArrowDown`, use [Keyboard.press()](./puppeteer.keyboard.press.md).
Modifier keys DO NOT effect `keyboard.type`. Holding down `Shift` will not type the text in upper case.
## Example
```js
await page.keyboard.type('Hello'); // Types instantly
await page.keyboard.type('World', {delay: 100}); // Types slower, like a user
```