Tengo un texto interno que cambió después de 2-3 segundos desde Loading to Play . Me gustaría esperar a que el texto interno cambie a Play . Estoy usando el siguiente código:
let attempt = 0; let maxRetries = 4; let payerButtonStatus = await this.player_page.innerText('#playingStatus'); while (attempt < maxRetries) { if (payerButtonStatus !== 'Loading') { console.log(`payerButtonStatus = ${payerButtonStatus}`); return true; } console.log(`Playback button status is - ${payerButtonStatus}, wait for 1sec and continue... ${attempt}/${maxRetries}`); await this.player_page.waitForTimeout(1000); payerButtonStatus = await this.player_page.innerText('#playingStatus'); console.log(`payerButtonStatus= ${payerButtonStatus}`); attempt++; } return false;¿Hay un código mejor para escribir esto?
Puede usar un selector de texto en un waitForSelector . Esperará 30 segundos por defecto:
await this.player_page.waitForSelector('text=Play');