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

177
Vistas
Obtener Titiritero Página/Marco Manejador para nueva página después de `ElementHandle.click()`

Usando puppeteer , tengo una página específica que estoy raspando la web en busca de datos y haciendo capturas de pantalla para probar que los datos son correctos. La propia página web incluye un botón para crear una versión imprimible de la página. El botón en sí se implementa como una entrada de tipo button sin atributo de target . Aún así, una vez que se hace clic, el botón abre la versión para imprimir en una nueva página (pestaña) en about:blank que abre automáticamente el cuadro de diálogo de impresión de Chrome.

Cada vez que se abre una nueva página, generalmente hago browser.waitForTarget() para intentar capturar el nuevo objetivo y trabajar desde allí. El problema es que con cualquier variación de código, nunca puedo encontrar una Page que coincida con la página que se abrió. Lo más cerca que estoy es encontrar un Target de tipo other y una url de chrome://print .

¿Hay alguna manera de encontrar este tipo de objetivo fácilmente y aún más obtener su página (dado que target.page() solo devuelve una página si target.type() === 'page' ? Como beneficio adicional, me gustaría una forma de descartar o ignorar potencialmente el cuadro de diálogo de impresión de la ventana, posiblemente incluso cancelar.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe hacer lo siguiente para capturar una nueva ventana del navegador:

 const browser = await puppeteer.launch({ headless: false, }); const page = await browser.newPage(); let page1; browser.on("targetcreated", async (target) => { if (target.type() === "page") { page1 = await target.page(); } });

O puede encontrar la página deseada usando el método browser.pages() . Consulte la documentación para obtener más información.

about 4 years ago · Juan Pablo Isaza 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