Keyboard
キーボードは、仮想キーボードを管理するためのAPIを提供します。高レベルAPIは、生の文字を受け取り、適切なkeydown、keypress/input、およびkeyupイベントをページ上で生成するkeyboard.type()です。
より細かく制御するには、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などの生成する文字。 -
optionsObject (optional)
戻り値
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イベントのみが送信されます。
引数
-
フォーカスされた要素に入力するテキスト。
-
optionsObject (optional)
戻り値
up
v1.9より前に追加keyupイベントをディスパッチします。
使用法
await keyboard.up(key);
引数
戻り値