键盘类
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) | 分派keypress 和input 事件。这不会发送keydown 或keyup 事件。 | |
type(text, options) | 为文本中的每个字符发送keydown 、keypress /input 和keyup 事件。 | |
up(key) | 分派keyup 事件。 |