鍵盤類別
鍵盤提供了一個用於管理虛擬鍵盤的 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) | 發送 備註 如果 在按鍵按下一次後,後續對 Keyboard.down() 的呼叫會將 repeat 設定為 true。要釋放按鍵,請使用 Keyboard.up()。 修飾鍵會影響 Keyboard.down()。按住 | |
press(key, options) | Keyboard.down() 和 Keyboard.up() 的快捷方式。 備註 如果 修飾鍵會影響 Keyboard.press()。按住 | |
sendCharacter(char) | 發送 備註 修飾鍵不會影響 Keyboard.sendCharacter。按住 | |
type(text, options) | 為文字中的每個字元發送 備註 要按下特殊按鍵,例如 修飾鍵不會影響 | |
up(key) | 發送 |