Keyboard
キーボードは、仮想キーボードを管理するためのAPIを提供します。高レベルAPIは、生の文字を受け取り、ページ上で適切なkeydown、keypress/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より前に追加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.UpAsync()を使用します。
キーが一度押されると、後続のKeyboard.DownAsync()の呼び出しではrepeatがtrueに設定されます。キーを離すには、Keyboard.UpAsync()を使用します。
修飾キーはkeyboard.downに影響を与えます。Shiftを押し続けると、テキストが大文字で入力されます。
使用法
await Keyboard.DownAsync(key);
引数
戻り値
InsertTextAsync
v1.9より前に追加inputイベントのみをディスパッチし、keydown、keyup、またはkeypressイベントは発行しません。
使用法
await page.Keyboard.PressAsync("嗨");
修飾キーはkeyboard.insertTextに影響を与えません。Shiftを押し続けても、テキストは大文字で入力されません。
引数
戻り値
PressAsync
v1.9より前に追加ほとんどの場合、代わりに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, ControlOrMeta。 ControlOrMetaはWindowsおよびLinuxではControlに、macOSではMetaに解決されます。
Shiftを押し続けると、keyに対応するテキストが大文字で入力されます。
keyが単一の文字である場合、それは大文字と小文字を区別します。そのため、aとAの値はそれぞれ異なるテキストを生成します。
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()のショートカットです。
引数
-
押すキーの名前、または
ArrowLeftやaなどの生成する文字。 -
optionsKeyboardPressOptions?(任意)-
Delay[float]? (任意)#keydownとkeyupの間の待機時間 (ミリ秒)。デフォルトは 0 です。
-
戻り値
TypeAsync
v1.9より前に追加ほとんどの場合、代わりにLocator.FillAsync()を使用する必要があります。ページに特別なキーボード処理がある場合にのみ、キーを1つずつ押す必要があります。この場合はLocator.PressSequentiallyAsync()を使用してください。
テキストの各文字に対してkeydown、keypress/input、およびkeyupイベントを送信します。
ControlやArrowDownのような特殊キーを押すには、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イベントのみが送信されます。
引数
-
フォーカスされた要素に入力するテキスト。
-
optionsKeyboardTypeOptions?(任意)-
Delay[float]? (任意)#キー押下間の待機時間(ミリ秒)。デフォルトは0です。
-
戻り値
UpAsync
v1.9より前に追加keyupイベントをディスパッチします。
使用法
await Keyboard.UpAsync(key);
引数
戻り値