Ir al contenido

Wait For

Tipo: page-wait-for  ·  Paquete: Browser v1.0.9

Pausa el flujo hasta que un elemento alcance el estado que indiques. Es la herramienta esencial para que tus automatizaciones web sean fiables: en lugar de adivinar con un Delay fijo cuánto tarda una página, esperas exactamente a que el elemento que necesitas esté listo.

Observa el elemento indicado por el selector y espera hasta que llegue al state pedido (o hasta agotar timeout, en cuyo caso falla). En cuanto se cumple, el flujo continúa de inmediato — ni antes ni más tarde. Si el estado ya se cumple al empezar, continúa al instante.

ParámetroTipoPor defectoDescripción
selectorselector—El elemento a esperar.
ParámetroTipoPor defectoDescripción
pageZoanPageSession—La sesión de página. Omítela dentro de un body; fuera, pasa la variable de la sesión (p. ej. page = page).
statestring"visible"Estado a esperar: visible · hidden · attached · detached (ver tabla). No distingue mayúsculas: Hidden equivale a hidden (desde la versión 1.0.8; antes cualquier valor que no fuera exactamente en minúsculas se trataba como visible).
timeoutnumber30000Máximo en ms a esperar. Vacío, 0 o negativo: el de la configuración del proyecto o, si no hay, 30000.
EstadoEn el DesignerEspera a que el elemento…
visibleVisibleExista y sea visible: con tamaño y sin visibility: hidden (lo más usado).
hiddenOcultoNo sea visible o no exista (ej. un spinner de carga que desaparece).
attachedEn la páginaExista en el HTML, aunque no sea visible.
detachedFuera de la páginaDeje de existir en el HTML.

Con visible y attached, el selector debe señalar un solo elemento; si coincide con varios, la actividad falla indicando cuántos encontró.

Esta actividad no devuelve ningún valor. Si necesitas un true/false en vez de un fallo, usa Element Exists.

Esperar a que cargue el dashboard tras iniciar sesión, y a que desaparezca el spinner:

Page Click selector = (#entrar)
Page Wait For selector = (.spinner-carga) state = hidden // esperar a que termine de cargar
Page Wait For selector = (.dashboard) state = visible // y a que aparezca el contenido
MensajeCausa y solución
Wait falló: Timeout 30000ms exceeded. … | coincidencias: 0 (elemento no encontrado: …)El elemento no llegó al estado a tiempo. Revisa el selector, sube timeout o usa Element Exists si el elemento puede no aparecer.
Wait falló: … | coincidencias: 2 (el selector es ambiguo: …)El selector coincide con varios elementos. Hazlo más específico o agrega un índice.
Ningún elemento coincide con el selector, así que no se pueden aplicar las anclas.El selector usa anclas y el elemento aún no existe: con anclas no se espera. Espera a un elemento sin anclas de la misma pantalla.
'state' debe ser visible, hidden, attached o detached (llegó '…'). / [page-wait-for] Invalid value '…' for 'state'. Allowed: visible, hidden, attached, detached.El state no es uno de los cuatro admitidos. Elige uno de la lista.
'page' debe ser una ZoanPageSession.page está vacío fuera de un body.
  • Element Exists — comprobar presencia sin fallar (devuelve true/false).
  • Navigate — su parámetro waitUntil controla la espera de carga de página.
  • Delay — espera fija (menos fiable; úsala como último recurso).