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

Keyboard

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

より細かい制御のために、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の値はそれぞれ異なるテキストを生成します。

keyが修飾キー(ShiftMetaControl、または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を押し続けても、テキストは大文字で入力されません。

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

引数

  • text string#

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

  • options KeyboardTypeOptions? (任意)

    • Delay [float]? (任意)#

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

戻り値


UpAsync

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

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

使用法

await Keyboard.UpAsync(key);

引数

  • key string#

    押すキーの名前、または ArrowLefta などの生成する文字。

戻り値