hay un botón que abre una nueva pestaña (_blank) en el navegador, ¿cómo hago referencia a esta nueva pestaña (como "esperar página 2...") y la controlo?
<button id="button" href="randomCode" target="_blank">BUTTON</button>Intenté usar esto en titiritero:
await page1.waitForSelector('#button'); const link = await page1.$('#button'); const newPagePromise = new Promise(x => browser.once('targetcreated', target => x(target.page()))); await link.click({button: 'left'}); const page2= await newPagePromise; await page2.bringToFront();Pero en este caso, solo funciona para controlar a veces (no sé por qué)
Nota: El enlace del botón cambia con el tiempo, por lo que es necesario hacer clic en el botón/no se puede cerrar la primera página.
Si hay alguien con el mismo error, encontré la solución, obtuve el href del botón y luego, abrí una nueva pestaña con el href:
const hrefs1 = await page.evaluate( () => Array.from( document.querySelectorAll('a[SELECTOR]'), a => a.getAttribute('href') ) ); const pagina2 = await browser.newPage(); await pagina2.goto(''+hrefs1);No hay error en este caso.