Управление клавиатурой

В предыдущем посте мы рассмотрели различные стратегии навигации. В этом посте мы увидим, как управлять действиями клавиатуры.

Selenium позволяет нам имитировать действия на клавиатуре, такие как нажатие клавиш или очистка записанного содержимого. Кроме того, мы можем использовать клавиши-модификаторы, такие как CTRL или SHIFT, для выполнения некоторых составных / комбинированных нажатий клавиш с помощью класса ActionChains.

Цепочки действий

Цепочки действий допускают такие взаимодействия, как движения мыши, действия кнопок мыши, нажатие клавиш и перетаскивание. Когда вы вызываете методы для действий с объектом ActionChains, действия сохраняются в очереди в объекте ActionChains. Когда вы вызываете perform, события запускаются в порядке их постановки в очередь. ActionChains можно использовать в виде цепочки или поставить в очередь один за другим, а затем выполнять.

Для следующего случая

  1. Экземпляр ActionChains создается путем передачи экземпляра WebDriver.
  2. Действие (move_to_element) добавляется в очередь действий для элемента меню.
  3. Другое действие (щелчок) добавляется в очередь действий для элемента hidden_submenu.
  4. Когда вызывается perform, выполняется первое добавленное в очередь действие для перехода в главное меню.
  5. Затем выполняется второе добавленное действие, чтобы щелкнуть элемент подменю.

Клавиатура

send_keys

Метод send_keys вводит последовательность клавиш в элемент. Клавиши-модификаторы доступны из класса Keys. Он может принимать в качестве параметра строку или ключ из класса Keys.

В следующем примере поле ввода почты заполняется значением [email protected].

key_down

key_down используется для имитации нажатия клавиши-модификатора (Ctrl, Alt, Shift) без ее отпускания.

В этом примере следующий код записывается в текстовую область и выбирается комбинацией CTRL+A.

def foo():
    pass

key_up

key_up используется для имитации нажатия или отпускания клавиши при нажатии клавиши-модификатора методом key_down.

В следующем примере выполняется поиск «SELENIUM webdriver» в Google. Он использует клавишу SHIFT для записи селена в верхнем регистре.

чистый

Этот метод очищает содержимое редактируемого элемента.

То, что нужно запомнить

  • Selenium позволяет нам имитировать действия клавиатуры, такие как нажатие клавиш, использование клавиш-модификаторов, таких как CTRL, SHIFT, или очистка записанного содержимого.
  • Клавиши-модификаторы можно использовать с помощью класса ActionChains.
  • Вы можете объединить несколько действий и выполнить их по порядку, вызвав метод perform для объекта ActionChains.
  • Selenium Python api предоставляет методы send_keys, key_down, key_up и clear для действий с клавиатуры.

В следующем посте я напишу о возможностях браузера и параметрах передачи в webdriver.

использованная литература

  1. Https://www.selenium.dev/documentation/en/webdriver/keyboard/
  2. Https://github.com/SeleniumHQ/selenium/blob/trunk/py/selenium/webdriver/common/action_chains.py
  3. Https://www.softwaretestingmaterial.com/mouse-and-keyboard-interactions-in-selenium-python/
  4. Https://www.geeksforgeeks.org/action-chains-in-selenium-python/

Спасибо за уделенное время.