Keyboard (キーボード)
Keyboardは仮想キーボードを管理するためのAPIを提供します。高レベルAPIはkeyboard.type()で、生の文字を受け取り、ページ上で適切なkeydown
、keypress
/input
、およびkeyup
イベントを生成します。
より詳細な制御のためには、keyboard.down()、keyboard.up()、およびkeyboard.insertText()を使用して、実際のキーボードから生成されたかのように手動でイベントを発生させることができます。
テキストを選択して削除するためにShift
キーを押し続ける例
await page.keyboard.type('Hello World!');
await page.keyboard.press('ArrowLeft');
await page.keyboard.down('Shift');
for (let i = 0; i < ' World'.length; i++)
await page.keyboard.press('ArrowLeft');
await page.keyboard.up('Shift');
await page.keyboard.press('Backspace');
// Result text will end up saying 'Hello!'
大文字のA
を押す例
await page.keyboard.press('Shift+KeyA');
// or
await page.keyboard.press('Shift+A');
キーボードで全選択をトリガーする例
await 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
を押し続けると、テキストが大文字で入力されます。
使用方法
await 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"
などのショートカットもサポートされています。修飾キーが指定された場合、修飾キーは押し続けられ、その後に続くキーが押されます。
使用方法
const page = await browser.newPage();
await page.goto('https://keycode.info');
await page.keyboard.press('A');
await page.screenshot({ path: 'A.png' });
await page.keyboard.press('ArrowLeft');
await page.screenshot({ path: 'ArrowLeft.png' });
await page.keyboard.press('Shift+O');
await page.screenshot({ path: 'O.png' });
await browser.close();
keyboard.down()とkeyboard.up()のショートカットです。
引数
-
押すキーの名前、または生成する文字(例:
ArrowLeft
、a
)。 -
options
Object (オプション)
戻り値
type
v1.9より前に追加されましたほとんどの場合、代わりにlocator.fill()を使用する必要があります。ページに特別なキーボード処理がある場合にのみ、キーを1つずつ押す必要があり、その場合はlocator.pressSequentially()を使用します。
テキスト内の各文字に対して、keydown
、keypress
/input
、およびkeyup
イベントを送信します。
Control
やArrowDown
などの特殊キーを押すには、keyboard.press()を使用します。
使用方法
await page.keyboard.type('Hello'); // Types instantly
await page.keyboard.type('World', { delay: 100 }); // Types slower, like a user
修飾キーはkeyboard.type
に影響しません。Shift
を押し続けても、テキストは大文字で入力されません。
USキーボードにない文字については、input
イベントのみが送信されます。
引数
-
フォーカスされた要素に入力するテキスト。
-
options
Object (オプション)
戻り値
up
v1.9より前に追加されましたkeyup
イベントをディスパッチします。
使用方法
await keyboard.up(key);
引数
戻り値