跳至主要内容
版本:22.5.0

键盘类

Keyboard 提供了一个用于管理虚拟键盘的 API。高级 API 是 Keyboard.type(),它接受原始字符并在页面上生成适当的 keydown、keypress/input 和 keyup 事件。

签名:

export declare abstract class Keyboard

备注

为了更精细的控制,您可以使用 Keyboard.down()Keyboard.up()Keyboard.sendCharacter() 手动触发事件,就像它们是由真实键盘生成的。

在 macOS 上,键盘快捷键(如 ⌘ A -> 全选)不起作用。请参阅 #1313

此类的构造函数被标记为内部。第三方代码不应直接调用构造函数或创建扩展Keyboard类的子类。

示例 1

按住Shift键以选择和删除一些文本的示例

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!'

示例 2

按下A键的示例

await page.keyboard.down('Shift');
await page.keyboard.press('KeyA');
await page.keyboard.up('Shift');

方法

方法修饰符描述
down(key, options)分派keydown事件。
press(key, options)Keyboard.down()Keyboard.up()的快捷方式。
sendCharacter(char)分派keypressinput事件。这不会发送keydownkeyup事件。
type(text, options)为文本中的每个字符发送keydownkeypress/inputkeyup事件。
up(key)分派keyup事件。