codecamp

Puppeteer 键盘

class: Keyboard v0.9.0

Keyboard 提供一个接口来管理虚拟键盘. 高级接口为 keyboard.type, 其接收原始字符, 然后在你的页面上生成对应的 keydown, keypress/input, 和 keyup 事件. 为了更精细的控制(虚拟键盘), 你可以使用 keyboard.down, keyboard.up 和 keyboard.sendCharacter 来手动触发事件, 就好像这些事件是由真实的键盘生成的. 持续按下 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'); // 结果字符串最终为 'Hello!'

按下 A 的例子:

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

注意 在 MacOS 上, ⌘ A -& 选择全部等键盘快捷键不工作. 另见 #1313

Methods

  • keyboard.down(key[, options])v0.9.0
  • keyboard.press(key[, options])v0.9.0
  • keyboard.sendCharacter(char)v0.9.0
  • keyboard.type(text, options)v0.9.0
  • keyboard.up(key)v0.9.0

Methods

keyboard.down(key[, options])v0.9.0

  • key <string> 按下的键名, 比如 ArrowLeft. 一个包含所有键名的列表见 USKeyboardLayout.
  • options <Object> - text <string> 如果指定,则使用此文本生成输入事件.
  • returns: <Promise> 会分发一个 keydown 事件。 如果 key 是一个单独字符并且没有除了 Shift 的其他修饰符键正在被按下, 一个 keypress/input 事件也将被生成. 可以指定 text 选项来强制生成输入事件。 如果 key 是一个修饰键, Shift, Meta, Control, 或者是 Alt, 随后的按键将与该修饰符一起发送. 要释放修饰键, 请使用 keyboard.up。 在键被按下一次之后(译者注: 按下之后没有被释放, 一般会持续的触发该按键), 随后将持续调用 keyboard.down, 事件对象的 repeat 将被设置为 true. 要释放该键, 请使用 keyboard.up.

注意 修饰键会影响 keyboard.down, 持续按下 Shift 键将以大写形式输入文本。

Puppeteer 可及性
Puppeteer 鼠标
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }