Cómo hacer que una macro espere a que cargue la página, sin pausas fijas
Las pausas fijas hacen lentas o frágiles tus macros. Cómo esperar a que aparezca un elemento y no un tiempo fijo, y cómo hacerlo en Macro Quantic Pro.
Tu macro funciona cuando la web va rápida y falla cuando va lenta. O al revés: le pusiste pausas largas para no fallar y ahora tarda una eternidad. Hacer que una macro espere a que cargue la página sin depender de pausas fijas es la diferencia entre una automatización frágil y una fiable. En este artículo verás por qué las pausas fijas dan problemas, cuál es la alternativa y cómo aplicarla hoy en Macro Quantic Pro.
El problema de las pausas fijas
Una pausa fija le dice a la macro: "espera 3 segundos y sigue". El problema es que la web no tarda siempre lo mismo.
- Si la pausa es corta, la macro pulsa antes de que la página termine de cargar. El clic cae sobre un hueco vacío o sobre otro elemento, y todo lo que viene después falla.
- Si la pausa es larga, la macro acierta, pero pierde tiempo en cada repetición. Y ese tiempo se multiplica.
En el foro de Keyboard Maestro, un usuario describía justo este dilema. Tenía que recorrer más de 10 páginas web: con medio segundo de espera la macro fallaba, y con esperas de un segundo o más todo el proceso se volvía demasiado lento, sobre todo cuando cada página pedía varios clics y varias esperas.
La idea: esperar a una condición, no a un tiempo
La alternativa es cambiar la pregunta. En lugar de "¿cuánto espero?", la macro debería preguntarse "¿ya está lo que necesito?".
Esperar a una condición significa que la macro no sigue hasta que algo concreto existe en la pantalla:
- Un botón, como "Descargar" o "Siguiente".
- Un campo de un formulario.
- Un texto, como "Informe listo" o "Pago completado".
Si la página carga en medio segundo, la macro sigue en medio segundo. Si tarda diez, espera diez. Es lo que recomendaban en el foro citado: esperar a que exista un elemento concreto de la página en vez de usar retrasos arbitrarios.
Cómo hacerlo en Macro Quantic Pro
Conviene ser claro desde el principio. Macro Quantic Pro está preparando un modo Web con navegador integrado, que encontrará cada campo por lo que es y esperará a que la página cargue. Hoy, ese modo aparece en el programa como Próximamente: todavía no está disponible.
Mientras tanto, hay dos herramientas que ya puedes usar para que tu macro espere a lo que importa.
1. Modo inteligente, para botones que tardan un poco
El Modo inteligente guarda una pequeña foto de lo que pulsas al grabar. Al reproducir, si el botón no está todavía donde debería, vuelve a buscarlo durante un momento breve antes de hacer el clic.
Es útil para retrasos pequeños: un desplegable que tarda en abrirse, una lista que se rellena tras escribir o un botón que aparece un instante después. Para esperas de varios segundos no basta, porque solo reintenta durante un momento corto. El Modo inteligente está disponible en la prueba gratuita y en los planes Starter, Pro y Enterprise; no en Free.
2. Robots OCR, para esperar a un texto
Un robot OCR vigila una zona de la pantalla y lee su texto. Cuando se cumple la condición que elijas, por ejemplo "el texto SÍ aparece", ejecuta una macro. El reconocimiento se hace en tu propio PC.
Esta es la forma de esperar a una condición sin límite de segundos. La idea es dividir el trabajo en dos macros:
- Una macro hace la primera parte: entrar, rellenar y pulsar el botón que inicia la carga.
- Un robot vigila la zona donde aparecerá el aviso, por ejemplo "Informe listo".
- Cuando el robot lee ese texto, lanza la segunda macro, que hace el resto.
Crear el robot lleva tres pasos: seleccionar la región de la pantalla, confirmar el texto que el programa detecta en ella y configurar la condición, la macro y la frecuencia de comprobación. El texto no tiene que coincidir letra por letra: basta con que esté contenido en lo que se lee, sin distinguir mayúsculas ni tildes.
Buenas prácticas
Esperar a una condición es más fiable, pero no infalible. Estos consejos te ahorrarán sorpresas:
- Define un tiempo máximo de espera. Si la condición no llega nunca, la automatización no debe quedarse colgada. En los robots OCR puedes fijar una duración máxima en minutos y un máximo de disparos.
- Ten un plan B. Decide qué pasa si algo falla. Un robot puede detenerse si la macro da error, o avisarte con una alarma en lugar de lanzar una macro.
- Prueba con una conexión lenta. Una macro que solo has probado con buena conexión puede fallar el día que la web vaya despacio.
- Evita depender de textos que cambian. Si el aviso dice "Quedan 3 minutos" y luego "Quedan 2 minutos", elige otra parte del mensaje que sea estable.
- Recuerda que no todas las webs se dejan automatizar. Algunos sitios lo limitan o lo prohíben en sus condiciones. Respétalas.
Ejemplo paso a paso
Este es un caso ilustrativo, no un ejemplo de una web real. Imagina que cada mañana entras en un portal y descargas un informe que tarda un rato en generarse.
- Graba la macro "Pedir informe". Abre el portal en tu navegador, haz clic en "Generar informe" y detén la grabación.
- Graba la macro "Descargar informe". Con el informe ya generado, haz clic en "Descargar" y guarda el archivo.
- Crea un robot OCR. Selecciona la zona donde el portal muestra el aviso, confirma el texto "Informe listo" y elige la condición "El texto SÍ aparece".
- Asigna la macro "Descargar informe" al robot y ponle límites: por ejemplo, una duración máxima de 15 minutos y un solo disparo.
- Inicia el robot y reproduce "Pedir informe". Cuando aparezca "Informe listo", el robot lanzará la descarga por ti, tarde lo que tarde el portal.
Así, la macro nunca espera de más ni de menos: espera justo lo que tarda el informe.
Automatiza sin pausas fijas
Si quieres probar este enfoque, puedes descargar Macro Quantic Pro gratis desde la Microsoft Store. La documentación de los robots OCR explica cada opción, y la página del grabador de macros resume cómo graba y reproduce.
Preguntas frecuentes
¿Cómo hago que una macro espere a que cargue una página?
Haz que espere a una condición y no a un tiempo fijo. En Macro Quantic Pro, la forma más fiable hoy es un robot OCR que vigile un texto de la página y lance la siguiente macro cuando aparezca.
¿Qué es mejor, una pausa fija o esperar a un elemento?
Esperar a un elemento. La pausa fija siempre es demasiado corta o demasiado larga para alguna de las veces. Esperar a un elemento se adapta a lo que tarde la página en cada momento.
¿Qué pasa si el elemento nunca aparece?
Depende de los límites que pongas. Un robot OCR con duración máxima se detiene al llegar a ese tiempo, sin lanzar la macro. Si lo dejas sin límites, sigue vigilando hasta que lo detengas.
¿Puedo usar esto en programas de escritorio?
Sí. Los robots OCR leen cualquier zona de la pantalla, sea una web o un programa de escritorio. El Modo inteligente también funciona con programas de escritorio.
Fuentes
- Foro de Keyboard Maestro: Best practice to wait webpage loading