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

Клавиатура и мышь

Клавиатура​

browser_press_key​

Нажимает клавишу на клавиатуре. Нажатие выполняется на странице, а не на конкретном элементе — сначала установите фокус на нужный элемент (например, с помощью browser_click), если это важно.

ПараметрТипОбязательныйОписание
keystringдаНазвание клавиши для нажатия или символ для ввода, например ArrowLeft или a

Часто используемые клавиши: Enter, Tab, Escape, Backspace, Delete, ArrowUp, ArrowDown, ArrowLeft, ArrowRight, Home, End, PageUp, PageDown

Сочетания клавиш: Control+a, Control+c, Control+v, Shift+Tab, Alt+F4

→ browser_press_key { key: "Enter" } // отправить форму
→ browser_press_key { key: "Tab" } // перейти к следующему полю
→ browser_press_key { key: "Escape" } // закрыть модальное окно
→ browser_press_key { key: "Control+a" } // выделить весь текст
→ browser_press_key { key: "ArrowDown" } // переместиться по раскрывающемуся списку

browser_type​

Вводит текст в элемент. Подробнее см. в разделе Формы.

Чтобы вводить текст посимвольно, а не заполнять всё значение сразу, используйте browser_type с slowly: true.

Мышь (режим Vision)​

Эти инструменты доступны, когда включена возможность vision (--caps=vision). Они используют пиксельные координаты со снимков экрана, а не идентификаторы элементов (ref) из снимков состояния страницы.

browser_mouse_move_xy​

ПараметрТипОбязательныйОписание
xnumberдаКоордината X
ynumberдаКоордината Y

browser_mouse_down / browser_mouse_up​

Нажимает или отпускает кнопку мыши в текущей позиции.

ПараметрТипОбязательныйОписание
buttonstringнетleft (по умолчанию), right или middle

browser_mouse_wheel​

ПараметрТипОбязательныйОписание
deltaXnumberнетГоризонтальная прокрутка, по умолчанию 0
deltaYnumberнетВертикальная прокрутка, по умолчанию 0 (положительное значение = вниз)

browser_mouse_click_xy​

Выполняет щелчок по указанным координатам без необходимости предварительного перемещения мыши.

ПараметрТипОбязательныйОписание
xnumberдаКоордината X
ynumberдаКоордината Y
buttonstringнетleft (по умолчанию), right или middle
clickCountnumberнетКоличество щелчков, по умолчанию 1
delaynumberнетВремя между нажатием и отпусканием кнопки мыши в миллисекундах, по умолчанию 0
→ browser_mouse_click_xy { x: 150, y: 300 }
→ browser_mouse_click_xy { x: 150, y: 300, clickCount: 2 } // двойной щелчок

browser_mouse_drag_xy​

Выполняет перетаскивание из одной позиции в другую с зажатой левой кнопкой мыши.

ПараметрТипОбязательныйОписание
startXnumberдаНачальная координата X
startYnumberдаНачальная координата Y
endXnumberдаКонечная координата X
endYnumberдаКонечная координата Y
→ browser_mouse_drag_xy { startX: 100, startY: 200, endX: 400, endY: 200 }
подсказка

Передайте boxes: true в browser_snapshot (или запустите сервер с --snapshot-boxes), чтобы получить [box=x,y,width,height] для каждого элемента в снимке состояния страницы. Это позволяет получить координаты без дополнительного запроса снимка экрана.

Когда использовать инструменты мыши​

СценарийЧто использовать
Щелчок по кнопке, ссылке или элементу формыbrowser_click с идентификатором элемента (по умолчанию)
Приложения на основе canvas (рисование, карты)Инструменты мыши в режиме vision
Пользовательские элементы интерфейса без поддержки доступностиИнструменты мыши в режиме vision
Перетаскивание объектов, требующее позиционирования с точностью до пикселяИнструменты мыши в режиме vision

Для большинства веб-приложений идентификаторы элементов из снимков дерева доступности надёжнее, чем координаты. Используйте инструменты мыши, только если нужные элементы не представлены в дереве доступности.