puppeteer/docs/api/puppeteer.frame.type.md

90 lines
1.2 KiB
Markdown
Raw Normal View History

2022-07-05 13:41:43 +00:00
---
sidebar_label: Frame.type
---
# Frame.type() method
Sends a `keydown`, `keypress`/`input`, and `keyup` event for each character in the text.
#### Signature:
2022-07-05 13:41:43 +00:00
```typescript
class Frame {
type(
selector: string,
text: string,
options?: Readonly<KeyboardTypeOptions>
2022-07-05 13:41:43 +00:00
): Promise<void>;
}
```
## Parameters
<table><thead><tr><th>
2022-07-05 13:41:43 +00:00
Parameter
</th><th>
Type
</th><th>
Description
</th></tr></thead>
<tbody><tr><td>
selector
</td><td>
string
</td><td>
the selector for the element to type into. If there are multiple the first will be used.
</td></tr>
<tr><td>
text
</td><td>
string
</td><td>
text to type into the element
</td></tr>
<tr><td>
options
</td><td>
Readonly&lt;[KeyboardTypeOptions](./puppeteer.keyboardtypeoptions.md)&gt;
</td><td>
_(Optional)_ takes one option, `delay`, which sets the time to wait between key presses in milliseconds. Defaults to `0`.
</td></tr>
</tbody></table>
2022-07-05 13:41:43 +00:00
**Returns:**
Promise&lt;void&gt;
## 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
```