Клавиатура
Клавиатура предоставляет 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
Добавлено до версии 1.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 отображается как Control на Windows и Linux и как Meta на macOS.
Зажатие клавиши 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);
Аргументы
-
keyстрокаИмя клавиши для нажатия или символ для генерации, например,
ArrowLeftилиa.
Возвращаемое значение
insertText
Добавлено до версии 1.9Отправляет только событие input, не генерирует события keydown, keyup или keypress.
Использование
page.keyboard.insertText('嗨'); примечаниеМодификаторы клавиш НЕ влияют на
keyboard.insertText. ЗажатиеShiftне введет текст в верхнем регистре.
Аргументы
-
textстрокаУстанавливает значение ввода указанным текстом.
Возвращаемое значение
press
Добавлено до версии 1.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 отображается как Control на Windows и Linux и как Meta на macOS.
Зажатие клавиши 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().
Аргументы
-
keyстрокаИмя клавиши для нажатия или символ для генерации, например,
ArrowLeftилиa. -
optionsОбъект (необязательно)-
delayчисло (необязательно)Время ожидания между
keydownиkeyupв миллисекундах. По умолчанию 0.
-
Возвращаемое значение
type
Добавлено до версии 1.9предупреждениеВ большинстве случаев следует использовать locator.fill(). Нажатия клавиш по одной необходимы только при специальной обработке клавиатуры на странице — в этом случае используйте 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не введет текст в верхнем регистре.
примечаниеДля символов, отсутствующих на клавиатуре США, будет отправлено только событие
input.
-
textстрокаТекст для ввода в фокусированный элемент.
-
optionsОбъект (необязательно)-
delayчисло (необязательно)Время ожидания между нажатиями клавиш в миллисекундах. По умолчанию 0.
-
Возвращает
вверх
Добавлен до версии 1.9Отправляет событие keyup.
Использование
await keyboard.up(key);
Аргументы
-
keyстрокаИмя нажимаемой клавиши или символ для генерации, например,
ArrowLeftилиa.
Возвращает
© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-keyboard