.. java:import:: java.util Optional .. java:import:: org.openqa.selenium WebElement KeyboardInput ============= .. java:package:: ru.bitec.gs.automation.client :noindex: .. java:type:: public interface KeyboardInput extends WithWebElement .. versionadded:: 1.1.0 Интерфейс для классов, поддерживающих пользовательский ввод с клавиатуры. Интерфейс содержит в себе дефолтные реализации методов, обеспечивающих симуляцию пользовательского печатания на клавиатуре. Таким образом, достаточно имплементировать интерфейс в классе, и его объектам автоматически станут доступны методы-симуляторы. .. seealso:: | :java:ref:`Keys ` | :java:ref:`KeyboardInput.Shortcut ` Methods ------- getKeyboardInputWebElement ^^^^^^^^^^^^^^^^^^^^^^^^^^ .. java:method:: default Optional getKeyboardInputWebElement() :outertype: KeyboardInput Получить dom-элемент, который будет получать клавиатурную последовательность. Метод нужно переопределить, если требуется использовать dom-элемент, отличный от dom-элемента текущего класса. :return: опциональный dom-элемент или :java:ref:`Optional.empty() ` если требуется послать последовательность в dom-элемент window press ^^^^^ .. java:method:: default void press(CharSequence key) :outertype: KeyboardInput Послать последовательное нажатие и отпускание клавиши. Если getKeyboardInputWebElement вернет (:java:ref:`Optional.empty() `), то последовательность пойдет в dom-элемент window. :param key: клавиша press ^^^^^ .. java:method:: default void press(KeyboardInput.Shortcut shortcut) :outertype: KeyboardInput Послать последовательное нажатие и отпускание горячей клавиши. Если getKeyboardInputWebElement вернет null (:java:ref:`Optional.empty() `}), то последовательность пойдет в dom-элемент window. Метод симулирует следующее поведение пользователя: 1. Последовательное нажатие мета-клавиш (Alt, Shift, Ctrl) горячей клавиши #. Нажатие основной клавиши #. Отпускание основной клавиши #. Последовательное отпускание мета-клавиш горячей клавиши в порядке, обратном нажиманию Если требуется смоделировать другую пользовательскую привычку нажатия горячей клавиши, то придется делать это самостоятельно. :param shortcut: горячая клавиша sendKeys ^^^^^^^^ .. java:method:: default void sendKeys(CharSequence... keys) :outertype: KeyboardInput Послать в dom-элемент последовательность клавиатурных нажатий. Если getKeyboardInputWebElement вернет :java:ref:`Optional.empty() `, то последовательность пойдет в dom-элемент window. Удобно применять при симуляции набора текста в input-поля и подобные dom-элементы. :param keys: Клавиатурная последовательность.