Keyboard
Keyboard は仮想キーボードを管理するための API を提供します。高レベル API は Keyboard.type() で、生の文字を受け取り、適切な keydown、keypress/input、および keyup イベントをページで生成します。
より細かく制御するには、Keyboard.down()、Keyboard.up()、および Keyboard.insertText() を使用して、実際のキーボードから生成されたかのように手動でイベントを発火させることができます。
テキストを選択して削除するためにShiftを押し続ける例
page.keyboard().type("Hello World!");
page.keyboard().press("ArrowLeft");
page.keyboard().down("Shift");
for (int i = 0; i < " World".length(); i++)
page.keyboard().press("ArrowLeft");
page.keyboard().up("Shift");
page.keyboard().press("Backspace");
// Result text will end up saying "Hello!"
大文字のAを押す例
page.keyboard().press("Shift+KeyA");
// or
page.keyboard().press("Shift+A");
キーボードで全選択をトリガーする例
page.keyboard().press("ControlOrMeta+A");
メソッド
down
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.up() を使用します。
キーが一度押された後、Keyboard.down() の後続の呼び出しでは、repeat が true に設定されます。キーを離すには、Keyboard.up() を使用します。
修飾キーはkeyboard.downに影響を与えます。Shiftを押し続けると、テキストが大文字で入力されます。
使用法
Keyboard.down(key);
引数
戻り値
insertText
v1.9より前に追加inputイベントのみをディスパッチし、keydown、keyup、またはkeypressイベントは発行しません。
使用法
page.keyboard().insertText("嗨");
修飾キーはkeyboard.insertTextに影響を与えません。Shiftを押し続けても、テキストは大文字で入力されません。
引数
戻り値
press
v1.9より前に追加ほとんどの場合、代わりに 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, ControlOrMeta。 ControlOrMetaはWindowsおよびLinuxではControlに、macOSではMetaに解決されます。
Shift を押し続けると、key に対応するテキストが大文字で入力されます。
key が単一の文字である場合、大文字と小文字が区別されるため、a と A の値はそれぞれ異なるテキストを生成します。
key: "Control+o"、key: "Control++、key: "Control+Shift+T"のようなショートカットもサポートされています。修飾キーを指定した場合、修飾キーは押し続けられ、その後に続くキーが押されます。
使用法
Page page = browser.newPage();
page.navigate("https://keycode.info");
page.keyboard().press("A");
page.screenshot(new Page.ScreenshotOptions().setPath(Paths.get("A.png")));
page.keyboard().press("ArrowLeft");
page.screenshot(new Page.ScreenshotOptions().setPath(Paths.get("ArrowLeft.png")));
page.keyboard().press("Shift+O");
page.screenshot(new Page.ScreenshotOptions().setPath(Paths.get("O.png")));
browser.close();
Keyboard.down() と Keyboard.up() のショートカット。
引数
-
押すキーの名前、または
ArrowLeftやaなどの生成する文字。 -
optionsKeyboard.PressOptions(オプション)
戻り値
type
v1.9より前に追加ほとんどの場合、代わりにLocator.fill()を使用する必要があります。ページに特別なキーボード処理がある場合にのみ、キーを1つずつ押す必要があります。この場合はLocator.pressSequentially()を使用してください。
テキストの各文字に対してkeydown、keypress/input、およびkeyupイベントを送信します。
Control や ArrowDown のような特殊キーを押すには、Keyboard.press() を使用します。
使用法
// Types instantly
page.keyboard().type("Hello");
// Types slower, like a user
page.keyboard().type("World", new Keyboard.TypeOptions().setDelay(100));
修飾キーはkeyboard.typeに影響を与えません。Shiftを押し続けても、テキストは大文字で入力されません。
USキーボードにない文字の場合、inputイベントのみが送信されます。
引数
-
フォーカスされた要素に入力するテキスト。
-
optionsKeyboard.TypeOptions(オプション)
戻り値
up
v1.9より前に追加keyupイベントをディスパッチします。
使用法
Keyboard.up(key);
引数
戻り値