メインコンテンツにスキップ

Keyboard

Keyboard は、仮想キーボードを管理するための API を提供します。高レベル API は keyboard.type() で、これは生の文字を受け取り、適切な keydownkeypress/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 より前に追加 keyboard.down

keydown イベントを発行します。

key は、意図された keyboardEvent.key 値、またはテキストを生成するための単一の文字を指定できます。key 値のスーパーセットは、こちらにあります。キーの例:

F1 - F12Digit0- Digit9KeyA- KeyZBackquoteMinusEqualBackslashBackspaceTabDeleteEscapeArrowDownEndEnterHomeInsertPageDownPageUpArrowRightArrowUp など。

次の修飾キーショートカットもサポートされています: ShiftControlAltMetaShiftLeftControlOrMetaControlOrMeta は、Windows および Linux では Control に、macOS では Meta に解決されます。

Shift キーを押したままにすると、key に対応するテキストがアッパーケースで入力されます。

key が単一の文字の場合、大文字と小文字が区別されるため、値 aA はそれぞれ異なるテキストを生成します。

key が修飾キー(ShiftMetaControl、または Alt)の場合、後続のキー入力はその修飾キーがアクティブな状態で送信されます。修飾キーを解除するには、keyboard.up() を使用します。

キーが一度押されると、keyboard.down() を後続の呼び出しを行うと、repeat が true に設定されます。キーを解除するには、keyboard.up() を使用します。

修飾キーは keyboard.down に影響を与えます。Shift キーを押したままにすると、テキストは大文字で入力されます。

使用法

await keyboard.down(key);

引数

  • key string#

    押すキーの名前または生成する文字 (例: ArrowLefta)。

戻り値


insertText

v1.9 より前に追加 keyboard.insertText

input イベントのみを発行し、keydownkeyup、または keypress イベントは発行しません。

使用法

page.keyboard.insertText('嗨');

修飾キーは keyboard.insertText に影響を与えません。Shift キーを押したままにしても、テキストは大文字で入力されません。

引数

  • text string#

    入力を指定されたテキスト値に設定します。

戻り値


press

v1.9 より前に追加 keyboard.press
ヒント

ほとんどの場合、代わりに locator.press() を使用する必要があります。

key は、意図された keyboardEvent.key 値、またはテキストを生成するための単一の文字を指定できます。key 値のスーパーセットは、こちらにあります。キーの例:

F1 - F12Digit0- Digit9KeyA- KeyZBackquoteMinusEqualBackslashBackspaceTabDeleteEscapeArrowDownEndEnterHomeInsertPageDownPageUpArrowRightArrowUp など。

次の修飾キーショートカットもサポートされています: ShiftControlAltMetaShiftLeftControlOrMetaControlOrMeta は、Windows および Linux では Control に、macOS では Meta に解決されます。

Shift キーを押したままにすると、key に対応するテキストがアッパーケースで入力されます。

key が単一の文字の場合、大文字と小文字が区別されるため、値 aA はそれぞれ異なるテキストを生成します。

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() のショートカット。

引数

  • key string#

    押すキーの名前または生成する文字 (例: ArrowLefta)。

  • options Object (任意)

    • delay number (任意)#

      keydownkeyup の間の待機時間 (ミリ秒単位)。デフォルトは 0 です。

戻り値


type

v1.9 より前に追加 keyboard.type
注意

ほとんどの場合、代わりに locator.fill() を使用する必要があります。ページ上に特別なキーボード処理がある場合にのみ、キーを 1 つずつ押す必要があります。この場合は、locator.pressSequentially() を使用してください。

テキスト内の各文字に対して、keydownkeypress/input、および keyup イベントを送信します。

ControlArrowDown などの特殊キーを押すには、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 イベントのみが送信されます。

引数

  • text string#

    フォーカスされた要素に入力するテキスト。

  • options Object (任意)

    • delay number (任意)#

      キーを押す間の待機時間 (ミリ秒単位)。デフォルトは 0 です。

戻り値


up

v1.9 より前に追加 keyboard.up

keyup イベントを発行します。

使用法

await keyboard.up(key);

引数

  • key string#

    押すキーの名前または生成する文字 (例: ArrowLefta)。

戻り値