Diwall

Español
Descargar 1.24.4

La página nunca termina de cargar, sea cual sea el tiempo de espera

Diez segundos: falla. Cuarenta y cinco segundos: el mismo fallo. El destino no es lento — nunca va a terminar, y ningún tiempo de espera lo cambiará.

El síntoma. TimeoutError en la navegación inicial. Sube --timeout de 10 s a 45 s. Vuelve a fallar, exactamente igual.

Ese fallo idéntico es el diagnóstico: no es un problema de duración.

Lo que Diwall espera

Por defecto, la navegación termina con networkidle — 500 ms de silencio de red. Es un buen valor por defecto: significa que la página se ha asentado de verdad, que los scripts se han ejecutado, que el contenido ha llegado.

Algunos destinos nunca se callan. Un panel de control que refresca contadores, un panel de estadísticas en directo, la interfaz de administración de un router que consulta su propio estado — hablan con la red sin parar, por diseño. No hay ningún momento de calma que esperar, así que Diwall espera hasta agotar el tiempo, cada vez, sea cual sea la duración.

Cambiar la condición, no la duración

diwall-shot --url http://target.local/ --wait-until load --som --a11y \
  --guide-version 1.3

--wait-until load termina cuando se dispara el evento de carga de la propia página, sin exigir silencio de red. La misma opción existe en diwall-rpa, que la transmite.

Un escenario puede llevarla como propiedad de primer nivel, para ser autosuficiente — quien reutilice su escenario no tiene que conocer la manía del destino:

{"url": "http://target.local/", "wait_until": "load", "actions": [...]}

La línea de comandos prevalece sobre el escenario A diferencia de las opciones booleanas, que se combinan, esta lleva un valor — y dos valores no se suman. Si ambos están definidos, decide la opción de la línea de comandos.

Qué valor usar

ValorTermina conÚselo cuando
networkidle500 ms de silencio de redes el valor por defecto — manténgalo mientras funcione
loadel evento de carga de la páginael destino consulta la red sin parar
domcontentloadedel HTML analizado, subrecursos pendientesnecesita la vista más temprana posible

No recurra a load por precaución. El valor por defecto le da una página que ha terminado de llegar; cambiarlo supone aceptar que parte del contenido siga en camino en el momento de la captura. Cámbielo cuando el valor por defecto falle, no antes.

Cómo distinguirlo de una página lenta

Una página lenta acaba funcionando si se espera lo suficiente — subir el tiempo de espera cambia el resultado. Una página que nunca se calla falla igual con cualquier duración.

La prueba sale barata: ejecútelo dos veces, una con el tiempo por defecto y otra con uno mucho mayor. ¿Mismo fallo, misma rapidez? Cambie la condición. ¿Comportamiento distinto? Tiene un destino corriente y lento, y el tiempo de espera es el mando correcto.

En resumen

  • Fallo idéntico a 10 s y a 45 s = condición equivocada, no duración equivocada.
  • --wait-until load para destinos que consultan la red sin parar.
  • Póngalo en el escenario para que viaje con el destino.
  • Mantenga networkidle en todo lo demás.