Клавиатура и мышь
Клавиатура
browser_press_key
Нажимает клавишу на клавиатуре. Нажатие выполняется на странице, а не на конкретном элементе — сначала установите фокус на
нужный элемент (например, с помощью browser_click), если это важно.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
key | string | да | Название клавиши для нажатия или символ для ввода, например 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
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
x | number | да | Координата X |
y | number | да | Координата Y |
browser_mouse_down / browser_mouse_up
Нажимает или отпускает кнопку мыши в текущей позиции.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
button | string | нет | left (по умолчанию), right или middle |
browser_mouse_wheel
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
deltaX | number | нет | Горизонтальная прокрутка, по умолчанию 0 |
deltaY | number | нет | Вертикальная прокрутка, по умолчанию 0 (положительное значение = вниз) |
browser_mouse_click_xy
Выполняет щелчок по указанным координатам без необходимости предварительного перемещения мыши.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
x | number | да | Координата X |
y | number | да | Координата Y |
button | string | нет | left (по умолчанию), right или middle |
clickCount | number | нет | Количество щелчков, по умолчанию 1 |
delay | number | нет | Время между нажатием и отпусканием кнопки мыши в миллисекундах, по умолчанию 0 |
→ browser_mouse_click_xy { x: 150, y: 300 }
→ browser_mouse_click_xy { x: 150, y: 300, clickCount: 2 } // двойной щелчок
browser_mouse_drag_xy
Выполняет перетаскивание из одной позиции в другую с зажатой левой кнопкой мыши.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
startX | number | да | Начальная координата X |
startY | number | да | Начальная координата Y |
endX | number | да | Конечная координата X |
endY | number | да | Конечная координата 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 |
Для большинства веб-приложений идентификаторы элементов из снимков дерева доступности надёжнее, чем координаты. Используйте инструменты мыши, только если нужные элементы не представлены в дереве доступности.