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

Keyboard

Keyboard は、仮想キーボードを管理するための API を提供します。高レベル API は Keyboard.type() で、これは生の文字を受け取り、ページ上で適切な keydownkeypress/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 より前に追加 keyboard.down

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 が修飾キー (ShiftMetaControlAlt) の場合、後続のキープレスはその修飾キーがアクティブな状態で送信されます。 修飾キーを解除するには、Keyboard.up() を使用します。

キーが一度押されると、Keyboard.down() の後続の呼び出しでは、repeat が true に設定されます。 キーを解除するには、Keyboard.up() を使用します。

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

使用例

Keyboard.down(key);

引数

  • key String#

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

戻り値


insertText

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

input イベントのみを発行し、keydownkeyup、keypress イベントは発行しません。

使用例

page.keyboard().insertText("嗨");

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

引数

  • text String#

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

戻り値


press

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

ほとんどの場合、代わりに 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, ControlOrMetaControlOrMeta は Windows および Linux では Control に、macOS では Meta に解決されます。

Shift キーを押し続けると、key に対応するテキストが大文字で入力されます。

key が単一の文字の場合、大文字と小文字が区別されるため、値 aA はそれぞれ異なるテキストを生成します。

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() のショートカット。

引数

  • key String#

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

  • options Keyboard.PressOptions (オプション)

    • setDelay double (オプション)#

      keydown と keyup の間の待ち時間 (ミリ秒単位)。デフォルトは 0 です。

戻り値


type

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

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

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

ControlArrowDown などの特殊キーを押すには、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 イベントのみが送信されます。

引数

  • text String#

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

  • options Keyboard.TypeOptions (オプション)

    • setDelay double (オプション)#

      キープレス間の待ち時間 (ミリ秒単位)。デフォルトは 0 です。

戻り値


up

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

keyup イベントを発行します。

使用例

Keyboard.up(key);

引数

  • key String#

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

戻り値