Aller au contenu
Tous les outils

ui_find_element

Écran, fenêtres et interface · macOS · Windows

Effet: lecture. État: disponibilité conditionnelle.

«Disponibilité conditionnelle» signifie que l’outil peut dépendre de la version, de la plateforme, des autorisations, du compte ou de la configuration. Il n’est pas forcément actif partout.

macOS

Objectif

Automatisation GUI : contrôlez l'interface d'une application native. Recherche un élément (bouton, champ, menu…) dans l'arborescence d'accessibilité d'une application par rôle et/ou label. Portée avec app_bundle_id ou window_id. Renvoie un element_ref opaque (utilisable par ui_click / ui_get_element cette session) plus le rôle, l'étiquette, les limites, le focus et `enabled` uniquement lorsque l'application publie AXEnabled (sinon `enabled_unknown: true`, ce qui ne signifie PAS que l'élément est désactivé). found=false lorsque l'application est accessible mais qu'aucun élément ne correspond ; app_not_found est une erreur explicite. Nécessite une autorisation d’accessibilité.

Entrées requises

Le schéma de cette plateforme ne déclare aucune entrée requise. Des sélecteurs facultatifs ou des conditions d’exécution peuvent néanmoins exister.

Autorisations et confirmation

Le schéma ne déclare aucun paramètre de confirmation explicite. Cela n’autorise aucune action sans permission : vérifiez l’effet et obtenez une autorisation.

Schéma technique canonique en anglais — macOS
{
  "properties": {
    "app_bundle_id": {
      "description": "Scope the search to this app.",
      "type": "string"
    },
    "index": {
      "description": "Which match to return if several (default 0), counted after the exact-first ordering.",
      "type": "integer"
    },
    "label": {
      "description": "AX title/description to match.",
      "type": "string"
    },
    "match": {
      "description": "Default contains. With contains, a label that equals the query (ignoring case and spacing) is preferred over longer labels that merely contain it (label \"Reply\" returns \"Reply\", not \"Reply All\"). When several elements match equally well the response has ambiguous: true and the candidates; the first is still returned.",
      "enum": [
        "exact",
        "contains"
      ],
      "type": "string"
    },
    "role": {
      "description": "AX role, e.g. AXButton, AXMenuItem, AXTextField.",
      "type": "string"
    },
    "window_id": {
      "description": "Alternatively scope by a window_id from list_windows.",
      "type": "string"
    }
  },
  "required": [],
  "type": "object"
}

Exemple documentaire

Exemple de documentation pour ui_find_element. N’exécutez pas cet exemple. Les arguments présentés appartiennent à un jeu de données fictif ; résolvez les identifiants réels et obtenez une autorisation avant tout appel réel.

{
  "label": "Save"
}

Windows

Objectif

Automatisation GUI — contrôlez une interface native de Windows app. Recherche un élément (bouton, champ, menu…) dans l'arborescence UI Automation d'un app par role et/ou étiquette. Portée avec `app` (nom de processus comme « bloc-notes » ou une sous-chaîne de titre de fenêtre). Renvoie un element_ref opaque (utilisable par ui_click / ui_type / ui_get_element cette session) plus role, étiquette, limites, activé, focalisé. `role` est un type de contrôle UIA (Button, Edit, CheckBox, MenuItem, Hyperlink, Text…) — exécutez ui_read_tree pour voir les noms exacts. found=false lorsque le app est accessible mais que rien ne correspond ; app_not_found est une erreur explicite.

Entrées requises

Le schéma de cette plateforme ne déclare aucune entrée requise. Des sélecteurs facultatifs ou des conditions d’exécution peuvent néanmoins exister.

Autorisations et confirmation

Le schéma ne déclare aucun paramètre de confirmation explicite. Cela n’autorise aucune action sans permission : vérifiez l’effet et obtenez une autorisation.

Schéma technique canonique en anglais — Windows
{
  "properties": {
    "app": {
      "description": "Scope to this app: process name (e.g. notepad) or a window-title substring.",
      "type": "string"
    },
    "index": {
      "description": "Which match to return if several (default 0).",
      "type": "integer"
    },
    "label": {
      "description": "Name/HelpText/Value to match.",
      "type": "string"
    },
    "match": {
      "description": "Default contains.",
      "enum": [
        "exact",
        "contains"
      ],
      "type": "string"
    },
    "role": {
      "description": "UIA control type, e.g. Button, Edit, MenuItem, CheckBox.",
      "type": "string"
    }
  },
  "required": [],
  "type": "object"
}

Exemple documentaire

Exemple de documentation pour ui_find_element. N’exécutez pas cet exemple. Les arguments présentés appartiennent à un jeu de données fictif ; résolvez les identifiants réels et obtenez une autorisation avant tout appel réel.

{
  "label": "Save"
}