Focusable¶
- public interface Focusable extends WithWebElement¶
Added in version 1.2.1.
Интерфейс, реализующий симуляцию действий пользователя, приводящих к установке признака “Фокус”.
Methods¶
focus¶
- void focus()¶
Выполняет установку фокуса на dom-элемент, соответствующий UI-элементу.
При установке фокуса выполняется вызов javascript-функции focus() на dom-элеменете, предоставляемом методом
getFocusableWebElement(). Никаких проверок на допустимость вызова этой функции не производится.
getFocusableWebElement¶
- WebElement getFocusableWebElement()¶
Получить dom-элемент, в который будет установлен фокус. Нужно переопределить в том случае, если требуется перенаправить фокус в dom-элемент, отличающийся от содержащегося в текущем классе.
- Returns:
dom-элемент
isFocusInsideElementWithAttribute¶
- static boolean isFocusInsideElementWithAttribute(JavascriptExecutor js, String attributeName)¶
Added in version 1.2.1.
Проверить, находится ли фокус ввода внутри элемента с указанным атрибутом.
Проверка выполняется подъёмом от активного элемента вверх по dom-дереву. Селектор не стал использовать. Имена data-атрибутов приложения содержат точку, которая в CSS является разделителем и требует экранирования.
Метод статический: вопрос задаётся документу, а не конкретному UI-элементу, и нужен там, где page object’а на руках нет.
- Parameters:
js – исполнитель javascript, обычно драйвер браузера
attributeName – имя атрибута
- Returns:
true, если у активного элемента либо у одного из его предков есть такой атрибут
isFocused¶
- boolean isFocused()¶
Проверить, находится ли “фокус” в текущем dom-элементе.
Фокус считается находящимся в элементе и тогда, когда активным элементом документа стал его потомок: разметка редакторов устроена так, что фокус получает вложенный input, а не сам элемент, за который отвечает объект.
- Returns:
true, если текущий dom-элемент содержит фокус
waitFocused¶
- void waitFocused()¶
Дождаться, пока dom-элемент получит фокус ввода.
Требуется там, где клавиатурная последовательность посылается не в конкретный элемент, а в активный элемент документа. Фокус переходит в элемент асинхронно, уже после того, как элемент отрисован.
- Throws:
AutomationException– если элемент не получил фокус за отведённое время