6.8 KiB
Table of Contents
class: ElementHandle
This is an element handle.
ElementHandle.boundingBox
Does something.
class: Keyboard
Keyboard provides an api for managing a virtual keyboard.
The high level api is Keyboard.type, which takes raw characters and generates
proper keydown, keypress/input, and keyup events on your page.
For finer control, you can use Keyboard.down, Keyboard.up, and Keyboard.sendCharacters 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:
await page.keyboard.type('Hello World!');
await page.keyboard.press('ArrowLeft');
await page.keyboard.down('Shift');
for (let i = 0; i < ' World'.length; i++)
await page.keyboard.press('ArrowLeft');
await page.keyboard.up('Shift');
await page.keyboard.press('Backspace');
// Result text will end up saying 'Hello!'
An example of pressing A
await page.keyboard.down('Shift');
await page.keyboard.press('KeyA');
await page.keyboard.up('Shift');
NOTE On MacOS, keyboard shortcuts like
⌘ A-> Select All do not work. See #1313.
Keyboard.down
Dispatches a keydown event.
key<string> Name of key to press, such asArrowLeft. See USKeyboardLayout for a list of all key names.options<?Object>text<?string> If specified, generates an input event with this text.
- returns: <Promise>
If key is a single character and no modifier keys besides Shift are being held down,
a keypress/input event will also generated. The text option can be specified
to force an input event to be generated.
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.
After the key is pressed once, subsequent calls to Keyboard.down will have repeat set to true. To release the key, use Keyboard.up.
NOTE Modifier keys DO influence
keyboard.down. Holding downShiftwill type the text in upper case.
Keyboard.press
Shortcut for Keyboard.down and Keyboard.up.
key<string> Name of key to press, such asArrowLeft. See USKeyboardLayout for a list of all key names.options<?Object>- returns: <Promise>
If key is a single character and no modifier keys besides Shift are being held down,
a keypress/input event will also generated. The text option can be specified
to force an input event to be generated.
NOTE Modifier keys DO effect
keyboard.press. Holding downShiftwill type the text in upper case.
Keyboard.sendCharacters
Dispatches a keypress and input event. This does not send a keydown or keyup event.
page.keyboard.sendCharacters('嗨');
NOTE Modifier keys DO NOT effect
keyboard.sendCharacters. Holding downShiftwill not type the text in upper case.
Keyboard.type
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.
text<string> A text to type into a focused element.options<?Object>delay<?number> Time to wait between key presses in milliseconds. Defaults to 0.
- returns: <Promise>
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 downShiftwill not type the text in upper case.
Keyboard.up
Dispatches a keyup event. See Keyboard.down for more info.
key<string> Name of key to release, such asArrowLeft. See USKeyboardLayout for a list of all key names.- returns: <Promise>