Keyboard
Keyboard は、仮想キーボードを管理するための API を提供します。高レベル API は keyboard.type() で、これは生の文字を受け取り、適切な keydown
、keypress
/input
、および keyup
イベントをページ上で生成します。
より細かく制御するには、keyboard.down()、keyboard.up()、および keyboard.insertText() を使用して、実際のキーボードから生成されたかのように手動でイベントを発行できます。
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!'
大文字の A
を押す例
await page.keyboard.press('Shift+KeyA');
// or
await page.keyboard.press('Shift+A');
キーボードで全選択をトリガーする例
await page.keyboard.press('ControlOrMeta+A');
メソッド
down
v1.9 より前に追加keydown
イベントを発行します。
key は、意図された keyboardEvent.key 値、またはテキストを生成するための単一の文字を指定できます。key 値のスーパーセットは、こちらにあります。キーの例:
F1
- F12
、Digit0
- Digit9
、KeyA
- KeyZ
、Backquote
、Minus
、Equal
、Backslash
、Backspace
、Tab
、Delete
、Escape
、ArrowDown
、End
、Enter
、Home
、Insert
、PageDown
、PageUp
、ArrowRight
、ArrowUp
など。
次の修飾キーショートカットもサポートされています: Shift
、Control
、Alt
、Meta
、ShiftLeft
、ControlOrMeta
。ControlOrMeta
は、Windows および Linux では Control
に、macOS では Meta
に解決されます。
Shift
キーを押したままにすると、key に対応するテキストがアッパーケースで入力されます。
key が単一の文字の場合、大文字と小文字が区別されるため、値 a
と A
はそれぞれ異なるテキストを生成します。
key が修飾キー(Shift
、Meta
、Control
、または Alt
)の場合、後続のキー入力はその修飾キーがアクティブな状態で送信されます。修飾キーを解除するには、keyboard.up() を使用します。
キーが一度押されると、keyboard.down() を後続の呼び出しを行うと、repeat が true に設定されます。キーを解除するには、keyboard.up() を使用します。
修飾キーは keyboard.down
に影響を与えます。Shift
キーを押したままにすると、テキストは大文字で入力されます。
使用法
await keyboard.down(key);
引数
戻り値
insertText
v1.9 より前に追加input
イベントのみを発行し、keydown
、keyup
、または keypress
イベントは発行しません。
使用法
page.keyboard.insertText('嗨');
修飾キーは keyboard.insertText
に影響を与えません。Shift
キーを押したままにしても、テキストは大文字で入力されません。
引数
戻り値
press
v1.9 より前に追加ほとんどの場合、代わりに locator.press() を使用する必要があります。
key は、意図された keyboardEvent.key 値、またはテキストを生成するための単一の文字を指定できます。key 値のスーパーセットは、こちらにあります。キーの例:
F1
- F12
、Digit0
- Digit9
、KeyA
- KeyZ
、Backquote
、Minus
、Equal
、Backslash
、Backspace
、Tab
、Delete
、Escape
、ArrowDown
、End
、Enter
、Home
、Insert
、PageDown
、PageUp
、ArrowRight
、ArrowUp
など。
次の修飾キーショートカットもサポートされています: Shift
、Control
、Alt
、Meta
、ShiftLeft
、ControlOrMeta
。ControlOrMeta
は、Windows および Linux では Control
に、macOS では Meta
に解決されます。
Shift
キーを押したままにすると、key に対応するテキストがアッパーケースで入力されます。
key が単一の文字の場合、大文字と小文字が区別されるため、値 a
と A
はそれぞれ異なるテキストを生成します。
key: "Control+o"
、key: "Control++
、または key: "Control+Shift+T"
などのショートカットもサポートされています。修飾キーを指定すると、後続のキーが押されている間、修飾キーが押されたままになります。
使用法
const page = await browser.newPage();
await page.goto('https://keycode.info');
await page.keyboard.press('A');
await page.screenshot({ path: 'A.png' });
await page.keyboard.press('ArrowLeft');
await page.screenshot({ path: 'ArrowLeft.png' });
await page.keyboard.press('Shift+O');
await page.screenshot({ path: 'O.png' });
await browser.close();
keyboard.down() および keyboard.up() のショートカット。
引数
-
押すキーの名前または生成する文字 (例:
ArrowLeft
、a
)。 -
options
Object (任意)
戻り値
type
v1.9 より前に追加ほとんどの場合、代わりに locator.fill() を使用する必要があります。ページ上に特別なキーボード処理がある場合にのみ、キーを 1 つずつ押す必要があります。この場合は、locator.pressSequentially() を使用してください。
テキスト内の各文字に対して、keydown
、keypress
/input
、および keyup
イベントを送信します。
Control
や ArrowDown
などの特殊キーを押すには、keyboard.press() を使用します。
使用法
await page.keyboard.type('Hello'); // Types instantly
await page.keyboard.type('World', { delay: 100 }); // Types slower, like a user
修飾キーは keyboard.type
に影響を与えません。Shift
キーを押したままにしても、テキストは大文字で入力されません。
US キーボードにない文字の場合、input
イベントのみが送信されます。
引数
-
フォーカスされた要素に入力するテキスト。
-
options
Object (任意)
戻り値
up
v1.9 より前に追加keyup
イベントを発行します。
使用法
await keyboard.up(key);
引数
戻り値