Перейти к основному содержимому

Keyboard

Keyboard предоставляет API для управления виртуальной клавиатурой. Высокоуровневое API - это keyboard.type(), которое принимает сырые символы и генерирует соответствующие события keydown, keypress/input и keyup на вашей странице.

Для более тонкого управления вы можете использовать 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

Added before 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, 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 напечатает текст в верхнем регистре.

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

keyboard.down(key)

Аргументы

  • key str#

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

Возвращает


insert_text

Added before v1.9 keyboard.insert_text

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

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

page.keyboard.insert_text("嗨")
примечание

Модификаторные клавиши НЕ ВЛИЯЮТ на keyboard.insertText. Удержание Shift не напечатает текст в верхнем регистре.

Аргументы

  • text str#

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

Возвращает


press

Added before 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, ControlOrMeta. ControlOrMeta разрешается в Control на Windows и Linux и в Meta на macOS.

Удержание Shift напечатает текст, соответствующий key в верхнем регистре.

Если key является одним символом, он чувствителен к регистру, поэтому значения a и A будут генерировать разные тексты.

Также поддерживаются сочетания клавиш, такие как 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#

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

  • delay float (optional)#

    Время ожидания между keydown и keyup в миллисекундах. По умолчанию 0.

Возвращает


type

Added before v1.9 keyboard.type
предупреждение

В большинстве случаев вам следует использовать locator.fill() вместо этого. Вам нужно нажимать клавиши по одной, только если на странице есть специальная обработка клавиатуры - в этом случае используйте locator.press_sequentially().

Отправляет события keydown, keypress/input и keyup для каждого символа в тексте.

Чтобы нажать специальную клавишу, такую как Control или ArrowDown, используйте keyboard.press().

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

page.keyboard.type("Hello") # types instantly
page.keyboard.type("World", delay=100) # types slower, like a user
примечание

Модификаторные клавиши НЕ ВЛИЯЮТ на keyboard.type. Удержание Shift не напечатает текст в верхнем регистре.

примечание

Для символов, которые отсутствуют на клавиатуре США, будет отправлено только событие input.

Аргументы

  • text str#

    Текст для ввода в фокусированный элемент.

  • delay float (optional)#

    Время ожидания между нажатиями клавиш в миллисекундах. По умолчанию 0.

Возвращает


up

Added before v1.9 keyboard.up

Выпускает событие keyup.

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

keyboard.up(key)

Аргументы

  • key str#

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

Возвращает