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

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の値はそれぞれ異なるテキストを生成します。

keyShiftMetaControl、またはAltの修飾キーである場合、以降のキープレスはその修飾がアクティブな状態で送信されます。修飾キーを離すには、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 (任意)#

      keydownkeyupの間の待機時間(ミリ秒単位)。デフォルトは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)。

戻り値