2022-07-05 13:41:43 +00:00
---
sidebar_label: Keyboard.type
---
# Keyboard.type() method
Sends a `keydown` , `keypress` /`input`, and `keyup` event for each character in the text.
2022-10-24 07:07:05 +00:00
#### Signature:
2022-07-05 13:41:43 +00:00
```typescript
class Keyboard {
2023-09-22 15:22:25 +00:00
abstract type(
text: string,
options?: Readonly< KeyboardTypeOptions >
): Promise< void > ;
2022-07-05 13:41:43 +00:00
}
```
## Parameters
2024-03-20 15:03:14 +00:00
< table > < thead > < tr > < th >
2022-07-05 13:41:43 +00:00
2024-03-20 15:03:14 +00:00
Parameter
< / th > < th >
Type
< / th > < th >
Description
< / th > < / tr > < / thead >
< tbody > < tr > < td >
text
< / td > < td >
string
< / td > < td >
A text to type into a focused element.
< / td > < / tr >
< tr > < td >
options
< / td > < td >
Readonly< [KeyboardTypeOptions](./puppeteer.keyboardtypeoptions.md)>
< / td > < td >
_(Optional)_ An object of options. Accepts delay which, if specified, is the time to wait between `keydown` and `keyup` in milliseconds. Defaults to 0.
< / td > < / tr >
< / tbody > < / table >
2022-07-05 13:41:43 +00:00
**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
```ts
await page.keyboard.type('Hello'); // Types instantly
await page.keyboard.type('World', {delay: 100}); // Types slower, like a user
```