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

Keyboard

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

より細かく制御するには、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など。

以下の修飾ショートカットもサポートされています: Shift, Control, Alt, Meta, ShiftLeft, ControlOrMetaControlOrMetaは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など。

以下の修飾ショートカットもサポートされています: 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 = 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)。

戻り値