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

ui_wait_for_element

Экран, окна и интерфейс · macOS · Windows

Эффект: чтение. Статус: условно доступен.

«Условная доступность» означает, что инструмент может зависеть от версии, платформы, разрешений, учётной записи или настроек. Он доступен не во всех установках.

macOS

Назначение

Детерминированная синхронизация — заменяет все ожидания фиксированной длительности. Опрашивает элемент, пока он не перейдет в состояние (present|enabled|focused|absent) или пока не истечет время. Тайм-аут — ЯВНАЯ ошибка, а не ложный успех. Возвращает {satisfied, waited_ms, element_ref?, bounds?, role?, label?, enabled_unknown?}. state:'enabled' считается выполненным, если приложение не публикует AXEnabled=false; если AXEnabled вообще не публикуется, результат содержит enabled_unknown:true — ожидание не блокировалось, но доступность элемента фактически не подтверждена.

Обязательные входные данные

Схема этой платформы не объявляет обязательных входных данных. Необязательные селекторы или требования среды всё же могут применяться.

Разрешения и подтверждение

Схема не объявляет явного параметра подтверждения. Это не разрешает действовать без согласия: проверьте эффект и получите разрешение.

Каноническая техническая схема на английском — macOS
{
  "properties": {
    "app_bundle_id": {
      "description": "Bundle id of the app to look in (e.g. com.apple.Safari). Narrows the search and makes it faster.",
      "type": "string"
    },
    "label": {
      "description": "Visible label or title of the element.",
      "type": "string"
    },
    "match": {
      "description": "How to compare label: \"exact\" (default) or \"contains\".",
      "enum": [
        "exact",
        "contains"
      ],
      "type": "string"
    },
    "poll_ms": {
      "description": "Default 150.",
      "type": "integer"
    },
    "role": {
      "description": "Accessibility role of the element (e.g. AXButton, AXTextField).",
      "type": "string"
    },
    "state": {
      "description": "Default present.",
      "enum": [
        "present",
        "enabled",
        "focused",
        "absent"
      ],
      "type": "string"
    },
    "timeout_ms": {
      "description": "Default 5000.",
      "type": "integer"
    },
    "window_id": {
      "description": "Window to look in, from list_windows. Narrows the search to one window.",
      "type": "string"
    }
  },
  "required": [],
  "type": "object"
}

Пример для документации

Пример документации для ui_wait_for_element. Не выполняйте этот пример. Показанные аргументы относятся к вымышленному набору данных; перед реальным вызовом найдите настоящие идентификаторы и получите разрешение.

{
  "label": "Save"
}

Windows

Назначение

Детерминированная синхронизация — заменяет все ожидания фиксированной длительности. Опрашивает элемент, пока он не появится или не перейдет в состояние (present|enabled|focused|absent), либо пока не истечет время. Тайм-аут — ЯВНАЯ ошибка, а не ложный успех. Возвращает {satisfied, waited_ms, element_ref?, bounds?}.

Обязательные входные данные

Схема этой платформы не объявляет обязательных входных данных. Необязательные селекторы или требования среды всё же могут применяться.

Разрешения и подтверждение

Схема не объявляет явного параметра подтверждения. Это не разрешает действовать без согласия: проверьте эффект и получите разрешение.

Каноническая техническая схема на английском — Windows
{
  "properties": {
    "app": {
      "description": "Scope to this app: process name (e.g. notepad) or a window-title substring.",
      "type": "string"
    },
    "label": {
      "description": "Name/HelpText/Value to match.",
      "type": "string"
    },
    "match": {
      "description": "Default contains.",
      "enum": [
        "exact",
        "contains"
      ],
      "type": "string"
    },
    "poll_ms": {
      "description": "Default 150.",
      "type": "integer"
    },
    "role": {
      "description": "UIA control type, e.g. Button, Edit, MenuItem, CheckBox.",
      "type": "string"
    },
    "state": {
      "description": "Default present.",
      "enum": [
        "present",
        "enabled",
        "focused",
        "absent"
      ],
      "type": "string"
    },
    "timeout_ms": {
      "description": "Default 5000.",
      "type": "integer"
    }
  },
  "required": [],
  "type": "object"
}

Пример для документации

Пример документации для ui_wait_for_element. Не выполняйте этот пример. Показанные аргументы относятся к вымышленному набору данных; перед реальным вызовом найдите настоящие идентификаторы и получите разрешение.

{
  "label": "Save"
}