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

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 - 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, ControlOrMetaControlOrMetaは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 - 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, ControlOrMetaControlOrMetaは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)。

戻り値