Документация 0.4 Справочник действий

Клик по элементу

ui.click · Windows

Нажимает на элемент Windows-приложения

Нажимает на кнопку, пункт меню, ссылку, ячейку или другой элемент окна Windows-приложения. По умолчанию нажатие выполняется без мыши — через UI Automation, — поэтому работает, даже если окно программы закрыто другими окнами; если элемент так не умеет, робот кликает мышью в центр элемента.

Свойства #

Свойство Имя в файле Значение Обязательное По умолчанию Описание
Селектор selector селектор Windows да —
Тип клика clickType выбор из списка нет left Значения: left, right, double.
Способ method выбор из списка нет auto auto — без мыши (Invoke), если элемент это поддерживает, иначе клик мышью; mouse — всегда мышью. Значения: auto, invoke, mouse.
Таймаут, мс timeoutMs число нет 10000

Результат #

Действие не возвращает значений.

Как работает #

  • Селектор (selector) — путь к элементу от окна приложения. Задаётся пикером: кнопка «Указать на экране», наведите курсор на элемент и нажмите Ctrl. Проверить, что селектор находит элемент, — «Подсветить»; поправить вручную — «Изменить». Подробнее — Пикер элементов.
  • Тип клика (clickType): left — обычный, right — правой кнопкой (контекстное меню), double — двойной.
  • Способ (method):
    • auto — левый клик без мыши (Invoke), если элемент поддерживает; иначе мышью;
    • invoke — только без мыши (только левый клик);
    • mouse — всегда мышью. Мышью окно выводится на передний план; если элемент закрыт другим окном, клик не выполняется, чтобы не нажать не туда.
  • Таймаут, мс (timeoutMs, по умолчанию 10000) — сколько ждать появления элемента; поиск повторяется каждые 200 мс. Если элемент нашёлся за 2 с и дольше, в лог пишется совет уточнить селектор.
  • Перед кликом робот ждёт, пока элемент станет доступным (не серым), — в пределах того же таймаута.

Ошибки #

Код Причина и что делать
ElementNotFound Элемент не найден за время ожидания: окно не открыто, свёрнуто под другим или интерфейс изменился. Проверьте селектор кнопкой «Подсветить», при необходимости укажите элемент заново
Timeout Элемент найден, но остаётся недоступным (отключён) до конца таймаута; приложение не отвечает
InvalidArgument Элемент не виден на экране или закрыт другим окном (для клика мышью); способ invoke не поддерживается элементом или выбран вместе с правым/двойным кликом

При ошибке робот сохраняет снимок экрана: в студии он открывается по ссылке «Открыть скриншот» в «Лог», в оркестраторе — на странице задания.

Пример #

{
  "type": "ui.click",
  "props": {
    "selector": { "kind": "uia", "path": [ { "processName": "Tulpar.TestApp", "controlType": "Window", "name": "Tulpar Test App" }, { "controlType": "Button", "automationId": "btnSend" } ] },
    "clickType": "left", "method": "auto"
  }
}