Dispatches a keydown
event.
key
can specify the intended
keyboardEvent.key value or a single character
to generate the text for. A superset of the key
values can be found
here. Examples of the keys are:
F1
- F12
, Digit0
- Digit9
, KeyA
- KeyZ
, Backquote
, Minus
, Equal
, Backslash
, Backspace
, Tab
,
Delete
, Escape
, ArrowDown
, End
, Enter
, Home
, Insert
, PageDown
, PageUp
, ArrowRight
, ArrowUp
,
etc.
Following modification shortcuts are also supported: Shift
, Control
, Alt
, Meta
, ShiftLeft
,
ControlOrMeta
. ControlOrMeta
resolves to Control
on Windows and Linux and to Meta
on macOS.
Holding down Shift
will type the text that corresponds to the key
in the upper case.
If key
is a single character, it is case-sensitive, so the values a
and A
will generate different respective
texts.
If key
is a modifier key, Shift
, Meta
, Control
, or Alt
, subsequent key presses will be sent with that
modifier active. To release the modifier key, use
keyboard.up(key).
After the key is pressed once, subsequent calls to keyboard.down(key) will have repeat set to true. To release the key, use keyboard.up(key).
NOTE Modifier keys DO influence keyboard.down
. Holding down Shift
will type the text in upper case.
Name of the key to press or a character to generate, such as ArrowLeft
or a
.
Dispatches only input
event, does not emit the keydown
, keyup
or keypress
events.
Usage
page.keyboard.insertText('嗨');
NOTE Modifier keys DO NOT effect keyboard.insertText
. Holding down Shift
will not type the text in upper
case.
Sets input to the specified text value.
NOTE In most cases, you should use locator.press(key[, options]) instead.
key
can specify the intended
keyboardEvent.key value or a single character
to generate the text for. A superset of the key
values can be found
here. Examples of the keys are:
F1
- F12
, Digit0
- Digit9
, KeyA
- KeyZ
, Backquote
, Minus
, Equal
, Backslash
, Backspace
, Tab
,
Delete
, Escape
, ArrowDown
, End
, Enter
, Home
, Insert
, PageDown
, PageUp
, ArrowRight
, ArrowUp
,
etc.
Following modification shortcuts are also supported: Shift
, Control
, Alt
, Meta
, ShiftLeft
,
ControlOrMeta
. ControlOrMeta
resolves to Control
on Windows and Linux and to Meta
on macOS.
Holding down Shift
will type the text that corresponds to the key
in the upper case.
If key
is a single character, it is case-sensitive, so the values a
and A
will generate different respective
texts.
Shortcuts such as key: "Control+o"
, key: "Control++
or key: "Control+Shift+T"
are supported as well. When
specified with the modifier, modifier is pressed and being held while the subsequent key is being pressed.
Usage
const page = await browser.newPage();
await page.goto('https://keycode.info');
await page.keyboard.press('A');
await page.screenshot({ path: 'A.png' });
await page.keyboard.press('ArrowLeft');
await page.screenshot({ path: 'ArrowLeft.png' });
await page.keyboard.press('Shift+O');
await page.screenshot({ path: 'O.png' });
await browser.close();
Shortcut for keyboard.down(key) and keyboard.up(key).
Name of the key to press or a character to generate, such as ArrowLeft
or a
.
Optional
options: { Optional
Optional
delay?: numberTime to wait between keydown
and keyup
in milliseconds. Defaults to 0.
NOTE In most cases, you should use locator.fill(value[, options]) instead. You only need to press keys one by one if there is special keyboard handling on the page - in this case use locator.pressSequentially(text[, options]).
Sends a keydown
, keypress
/input
, and keyup
event for each character in the text.
To press a special key, like Control
or ArrowDown
, use
keyboard.press(key[, options]).
Usage
await page.keyboard.type('Hello'); // Types instantly
await page.keyboard.type('World', { delay: 100 }); // Types slower, like a user
NOTE Modifier keys DO NOT effect keyboard.type
. Holding down Shift
will not type the text in upper case.
NOTE For characters that are not on a US keyboard, only an input
event will be sent.
A text to type into a focused element.
Optional
options: { Optional
Optional
delay?: numberTime to wait between key presses in milliseconds. Defaults to 0.
Generated using TypeDoc
Keyboard provides an api for managing a virtual keyboard. The high level api is keyboard.type(text[, options]), which takes raw characters and generates proper
keydown
,keypress
/input
, andkeyup
events on your page.For finer control, you can use keyboard.down(key), keyboard.up(key), and keyboard.insertText(text) to manually fire events as if they were generated from a real keyboard.
An example of holding down
Shift
in order to select and delete some text:An example of pressing uppercase
A
An example to trigger select-all with the keyboard