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

Keyboard

Keyboardは、仮想キーボードを管理するためのAPIを提供します。高レベルAPIはKeyboard.TypeAsync()で、生の文字を受け取り、ページ上で適切なkeydownkeypress/input、およびkeyupイベントを生成します。

より細かく制御するには、Keyboard.DownAsync()Keyboard.UpAsync()、およびKeyboard.InsertTextAsync()を使用して、実際のキーボードから生成されたかのように手動でイベントを発生させることができます。

テキストを選択して削除するためにShiftキーを押し続ける例

await page.Keyboard.TypeAsync("Hello World!");
await page.Keyboard.PressAsync("ArrowLeft");

await page.Keyboard.DownAsync("Shift");
for (int i = 0; i < " World".Length; i++)
await page.Keyboard.PressAsync("ArrowLeft");

await page.Keyboard.UpAsync("Shift");

await page.Keyboard.PressAsync("Backspace");
// Result text will end up saying "Hello!"

大文字のAを押す例

await page.Keyboard.PressAsync("Shift+KeyA");
// or
await page.Keyboard.PressAsync("Shift+A");

キーボードで全選択をトリガーする例

await page.Keyboard.PressAsync("ControlOrMeta+A");

メソッド

DownAsync

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

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の値はそれぞれ異なるテキストを生成します。

keyShiftMetaControl、またはAltのような修飾キーの場合、その後のキー入力はその修飾キーが有効な状態で送信されます。修飾キーを解放するには、Keyboard.UpAsync()を使用します。

キーが一度押された後、Keyboard.DownAsync()のその後の呼び出しではrepeatがtrueに設定されます。キーを解放するには、Keyboard.UpAsync()を使用します。

注意

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

使用方法

await Keyboard.DownAsync(key);

引数

  • key string#

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

戻り値


InsertTextAsync

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

inputイベントのみをディスパッチし、keydownkeyup、またはkeypressイベントは発生させません。

使用方法

await page.Keyboard.PressAsync("嗨");
注意

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

引数

  • text string#

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

戻り値


PressAsync

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

ほとんどの場合、代わりにLocator.PressAsync()を使用してください。

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"などのショートカットもサポートされています。修飾キーが指定された場合、修飾キーは押され、その後のキーが押されている間も押され続けます。

使用方法

await page.GotoAsync("https://keycode.info");
await page.Keyboard.PressAsync("A");
await page.ScreenshotAsync(new() { Path = "A.png" });
await page.Keyboard.PressAsync("ArrowLeft");
await page.ScreenshotAsync(new() { Path = "ArrowLeft.png" });
await page.Keyboard.PressAsync("Shift+O");
await page.ScreenshotAsync(new() { Path = "O.png" });
await browser.CloseAsync();

Keyboard.DownAsync()Keyboard.UpAsync()のショートカットです。

引数

  • key string#

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

  • options KeyboardPressOptions? (オプション)

    • Delay [float]? (オプション)#

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

戻り値


TypeAsync

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

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

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

ControlArrowDownのような特殊キーを押すには、Keyboard.PressAsync()を使用してください。

使用方法

await page.Keyboard.TypeAsync("Hello"); // types instantly
await page.Keyboard.TypeAsync("World", new() { Delay = 100 }); // types slower, like a user
注意

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

注意

米国のキーボードにない文字の場合、inputイベントのみが送信されます。

引数

  • text string#

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

  • options KeyboardTypeOptions? (オプション)

    • Delay [float]? (オプション)#

      キー入力間の待機時間(ミリ秒)。デフォルトは0です。

戻り値


UpAsync

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

keyupイベントをディスパッチします。

使用方法

await Keyboard.UpAsync(key);

引数

  • key string#

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

戻り値