Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!