跳至主要內容
版本:23.11.1

鍵盤類別

鍵盤提供了一個用於管理虛擬鍵盤的 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 事件。

備註

如果 key 是一個單一字元,且除了 Shift 之外沒有按下任何修飾鍵,也會產生 keypress/input 事件。可以指定 text 選項來強制產生 input 事件。如果 key 是修飾鍵,ShiftMetaControlAlt,後續的按鍵會以該修飾鍵啟用的狀態發送。要釋放修飾鍵,請使用 Keyboard.up()

在按鍵按下一次後,後續對 Keyboard.down() 的呼叫會將 repeat 設定為 true。要釋放按鍵,請使用 Keyboard.up()

修飾鍵會影響 Keyboard.down()。按住 Shift 會輸入大寫文字。

press(key, options)

Keyboard.down()Keyboard.up() 的快捷方式。

備註

如果 key 是一個單一字元,且除了 Shift 之外沒有按下任何修飾鍵,也會產生 keypress/input 事件。可以指定 text 選項來強制產生 input 事件。

修飾鍵會影響 Keyboard.press()。按住 Shift 會輸入大寫文字。

sendCharacter(char)

發送 keypressinput 事件。這不會發送 keydownkeyup 事件。

備註

修飾鍵不會影響 Keyboard.sendCharacter。按住 Shift 不會輸入大寫文字。

type(text, options)

為文字中的每個字元發送 keydownkeypress/inputkeyup 事件。

備註

要按下特殊按鍵,例如 ControlArrowDown,請使用 Keyboard.press()

修飾鍵不會影響 keyboard.type。按住 Shift 不會輸入大寫文字。

up(key)

發送 keyup 事件。