Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

317
Vistas
La página de espera del titiritero se carga después de enviar el formulario

Envío un formulario con el siguiente código y quiero que Puppeteer espere a que se cargue la página después de enviar el formulario.

 await page.click("button[type=submit]"); //how to wait until the new page loads before taking screenshot? // i don't want this: // await page.waitFor(1*1000); //← unwanted workaround await page.screenshot({path: 'example.png'});

¿Cómo esperar a que se cargue la página con titiritero?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Puede esperar la navegación de forma asincrónica para evitar que se null en la redirección,

 await Promise.all([ page.click('button[type=submit]'), page.waitForNavigation({waitUntil: 'networkidle2'}) ]);

Esto le ayudará si page.click ya activa una navegación.

over 4 years ago · Santiago Trujillo Denunciar

0

await page.waitForNavigation();
over 4 years ago · Santiago Trujillo Denunciar

0

Según la Documentación Oficial , debes usar:

page.waitForNavigation(opciones)

  • options < Objeto > Parámetros de navegación que pueden tener las siguientes propiedades:
    • timeout < número > Tiempo máximo de navegación en milisegundos, por defecto es de 30 segundos, pase 0 para deshabilitar el tiempo de espera. El valor predeterminado se puede cambiar mediante el método page.setDefaultNavigationTimeout(timeout) .
    • waitUntil < cadena | Array < string >> Cuando se considera que la navegación fue exitosa, el valor predeterminado es load . Dada una matriz de cadenas de eventos, se considera que la navegación es exitosa después de que se hayan activado todos los eventos. Los eventos pueden ser:
      • load : considera que la navegación ha finalizado cuando se activa el evento de load .
      • domcontentloaded : considere que la navegación finaliza cuando se activa el evento DOMContentLoaded .
      • networkidle0 : considera que la navegación ha finalizado cuando no hay más de 0 conexiones de red durante al menos 500 ms.
      • networkidle2 : considera que la navegación ha finalizado cuando no hay más de 2 conexiones de red durante al menos 500 ms.
  • devuelve: < Promise <[?Response]>> Promise que se resuelve en la respuesta del recurso principal. En caso de múltiples redirecciones, la navegación se resolverá con la respuesta de la última redirección. En caso de navegación a un ancla diferente o navegación debido al uso de la API de historial, la navegación se resolverá con null .

Legibilidad:

Puede usar page.waitForNavigation() para esperar a que navegue una página:

 await page.waitForNavigation();

Actuación:

Pero dado que page.waitForNavigation() es un atajo para page.mainFrame().waitForNavigation() , podemos usar lo siguiente para una mejora menor en el rendimiento:

 await page._frameManager._mainFrame.waitForNavigation();
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda