В стандартном наборе методов доступных для IWebElement мы можем выполнить команды нажатия, ввода и очистки текста и собственно это все. Набор скажем так достаточно базовый.
На практике же нам часто приходится выполнять больше команд, таких как: скролл, наведение, перетягивание элементов, а также работа с мышью.
Все это позволяет реализовать класс Actions. Так же разработчики позаботились о том, чтобы мы могли создавать целую цепочку действий, например, можно использовать для выполнения нажатия комбинации клавиш.
Для начала работы нужно создать экземпляр класса Actions и предать в него текущий экземпляр IWebDriver и дальше вызывать необходимые нам методы последним из которых обязательно должен быть Perform:
Actions actions = new Actions(driver); actions.MoveToElement(button).Perform();
Ниже приведу ряд примеров.
Перемещение мыши на элемент:
actions.MoveToElement(button).Perform();
Для построение цепочки действий использовать метод Build:
.MoveToElement(button).Click().Build().Perform();
Перетаскивание элемента одного к другому:
actions.DragAndDrop(element1, element2).Perform();
Нажатие правой клавиши мыши:
actions.contextClick(element).Perform();
