Spec-Zone.ru › Playwright

Клавиатура

Клавиатура предоставляет 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.

Возвращаемое значение

  • Promise<пусто>

insertText​

Добавлено до версии 1.9

Отправляет только событие input, не генерирует события keydown, keyup или keypress.

Использование

page.keyboard.insertText('嗨');
примечание

Модификаторы клавиш НЕ влияют на keyboard.insertText. Зажатие Shift не введет текст в верхнем регистре.

Аргументы

  • text строка

    Устанавливает значение ввода указанным текстом.

Возвращаемое значение

  • Promise<пусто>

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.

Возвращаемое значение

  • Promise<пусто>

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.

Возвращает

  • Promise<void>

вверх​

Добавлен до версии 1.9

Отправляет событие keyup.

Использование

await keyboard.up(key);

Аргументы

  • key строка

    Имя нажимаемой клавиши или символ для генерации, например, ArrowLeft или a.

Возвращает

  • Promise<void>

© 2024 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-keyboard

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API