Puppeteer 鍵盤

2020-06-29 14:23 更新

class: Keyboard v0.9.0

Keyboard 提供一個接口來管理虛擬鍵盤. 高級接口為 keyboard.type, 其接收原始字符, 然后在你的頁面上生成對應的 keydown, keypress/input, 和 keyup 事件. 為了更精細的控制(虛擬鍵盤), 你可以使用 keyboard.down, keyboard.up 和 keyboard.sendCharacter 來手動觸發(fā)事件, 就好像這些事件是由真實的鍵盤生成的. 持續(xù)按下 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> 會分發(fā)一個 keydown 事件。 如果 key 是一個單獨字符并且沒有除了 Shift 的其他修飾符鍵正在被按下, 一個 keypress/input 事件也將被生成. 可以指定 text 選項來強制生成輸入事件。 如果 key 是一個修飾鍵, Shift, Meta, Control, 或者是 Alt, 隨后的按鍵將與該修飾符一起發(fā)送. 要釋放修飾鍵, 請使用 keyboard.up。 在鍵被按下一次之后(譯者注: 按下之后沒有被釋放, 一般會持續(xù)的觸發(fā)該按鍵), 隨后將持續(xù)調(diào)用 keyboard.down, 事件對象的 repeat 將被設置為 true. 要釋放該鍵, 請使用 keyboard.up.

注意 修飾鍵會影響 keyboard.down, 持續(xù)按下 Shift 鍵將以大寫形式輸入文本。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號