Keyboard
Keyboard は、仮想キーボードを管理するための API を提供します。高レベル API は Keyboard.TypeAsync() で、これは生の文字を受け取り、ページ上で適切な keydown
、keypress
/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 より前に追加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
など)。 -
options
KeyboardPressOptions?
(オプション)-
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
イベントのみが送信されます。
引数
-
フォーカスされた要素に入力するテキスト。
-
options
KeyboardTypeOptions?
(オプション)-
Delay
[float]? (オプション)#キー入力間の待ち時間 (ミリ秒単位)。デフォルトは 0 です。
-
戻り値
UpAsync
v1.9 より前に追加keyup
イベントを発行します。
使用例
await Keyboard.UpAsync(key);
引数
戻り値