Ir al contenido

Win Get Attribute

Tipo: win-get-attribute  ·  Paquete: Desktop Activities v1.0.8  ·  Salida: object

Obtiene una propiedad concreta de un elemento: si está habilitado, si está visible, su valor, su nombre, si está marcado, etc. Útil para tomar decisiones según el estado de la interfaz — comprobar que un botón está habilitado, si una casilla está marcada, leer la posición de un control.

Localiza el elemento por su selector (esperando hasta timeout) y devuelve el valor de la propiedad indicada en attribute. Solo lee: no hace clic ni trae la ventana al frente.

attributeDevuelveTipo
enabledSi el control está habilitado.bool
visibleSi el control está dentro del área visible (no desplazado fuera de la vista).bool
valueEl valor del control (patrón Value de UIA); si no tiene, su nombre.string
nameEl nombre del control (su texto o etiqueta accesible).string
checkedSi la casilla está marcada. null si el control no es una casilla (no admite Toggle).bool
selectedSi el ítem está seleccionado (en listas, pestañas, botones de opción). null si el control no admite selección.bool
existsSi el elemento existe. No falla: devuelve false si no aparece dentro de timeout.bool
boundsPosición y tamaño en píxeles de pantalla: un rectángulo con X, Y, Width y Height.object

En aplicaciones Java sin Java Access Bridge, name, visible, bounds, value y checked se leen por el puente con Swing; enabled y selected no están disponibles por esa vía.

ParámetroTipoPor defectoDescripción
selectorselector—El elemento a consultar.
attributestring—Propiedad a obtener: enabled · visible · value · name · checked · selected · exists · bounds (ver tabla).
ParámetroTipoPor defectoDescripción
sessionZoanDesktopSession—Sesión de Win Attach. Dentro de un body se toma sola; sin sesión, el selector debe incluir la ventana.
timeoutnumber30000Máximo en ms a esperar el elemento. Vacío = el tiempo de espera de interfaz del proyecto o, si no lo define, 30000. Con exists, es lo que tarda en responder false: usa 0 para una comprobación inmediata.

Devuelve un object cuyo tipo depende del atributo (ver la tabla). Para usarlo en una condición, conviértelo con toBoolean(...); para un texto, con str(...).

MensajeCausa y solución
No se encontró el elemento con el selector {…}.El elemento no apareció en timeout (con cualquier atributo salvo exists). Ver errores comunes.
'…' no se puede leer de este control Java sin Java Access Bridge.enabled o selected en una app Java sin Java Access Bridge activo. Actívalo en la máquina o usa otro atributo.
Atributo desconocido: '…'.attribute no es uno de los ocho valores de la tabla.

Actuar solo si el botón está habilitado:

Win Get Attribute selector = (botón "Procesar") attribute = enabled → output: habilitado
If condition = toBoolean(habilitado)
└─ then:
Win Click selector = (botón "Procesar")

Leer la posición de un control:

Win Get Attribute selector = (panel "Vista previa") attribute = bounds → output: zona
Log message = "Panel en " + zona.X + "," + zona.Y + " de " + zona.Width + "x" + zona.Height