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

Keyboard

Keyboard は、仮想キーボードを管理するための API を提供します。高レベル API は keyboard.type() で、これは生の文字を受け取り、適切な keydownkeypress/input、および keyup イベントをページ上で生成します。

より細かく制御するには、keyboard.down()keyboard.up()、および keyboard.insert_text() を使用して、実際のキーボードから生成されたかのように手動でイベントを発火できます。

テキストを選択して削除するために Shift キーを押し続ける例

page.keyboard.type("Hello World!")
page.keyboard.press("ArrowLeft")
page.keyboard.down("Shift")
for i in range(6):
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 など。

次の修飾キーのショートカットもサポートされています。ShiftControlAltMetaShiftLeftControlOrMetaControlOrMeta は、Windows および Linux では Control に、macOS では Meta に解決されます。

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

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

key が修飾キー(ShiftMetaControl、または Alt)の場合、後続のキー入力はその修飾キーがアクティブな状態で送信されます。修飾キーを解除するには、keyboard.up() を使用します。

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

注記

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

使用法

keyboard.down(key)

引数

  • key str#

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

戻り値


insert_text

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

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

使用法

page.keyboard.insert_text("嗨")
注記

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

引数

  • text str#

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

戻り値


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 など。

次の修飾キーのショートカットもサポートされています。ShiftControlAltMetaShiftLeftControlOrMetaControlOrMeta は、Windows および Linux では Control に、macOS では Meta に解決されます。

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

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

key: "Control+o"key: "Control++、または key: "Control+Shift+T" などのショートカットもサポートされています。修飾キーを指定すると、その修飾キーが押されたままになり、後続のキーが押されている間保持されます。

使用法

page = browser.new_page()
page.goto("https://keycode.info")
page.keyboard.press("a")
page.screenshot(path="a.png")
page.keyboard.press("ArrowLeft")
page.screenshot(path="arrow_left.png")
page.keyboard.press("Shift+O")
page.screenshot(path="o.png")
browser.close()

keyboard.down() および keyboard.up() のショートカット。

引数

  • key str#

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

  • delay float (オプション)#

    keydownkeyup の間の待機時間(ミリ秒単位)。デフォルトは 0 です。

戻り値


type

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

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

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

ControlArrowDown などの特殊キーを押すには、keyboard.press() を使用します。

使用法

page.keyboard.type("Hello") # types instantly
page.keyboard.type("World", delay=100) # types slower, like a user
注記

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

注記

US キーボードにない文字の場合、input イベントのみが送信されます。

引数

  • text str#

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

  • delay float (オプション)#

    キー入力間の待機時間(ミリ秒単位)。デフォルトは 0 です。

戻り値


up

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

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

使用法

keyboard.up(key)

引数

  • key str#

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

戻り値