No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Aprovecha el precio especial.

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

14 Días
0 Hrs
12 Min
19 Seg

Esperar por los elementos

10/15
Recursos

Aportes 13

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Por si no saben como correrlo con Jest, solo falta agregar el .test , o sea el archivo quedaría: tiposDeEspera.test.js

Aquí les comparto este video interesante sobre cómo exportar desde google chrome un script de puppeteer: https://youtu.be/K8NMqOEkxKM

El metodo await page.waitForTimeout(3000) esta ahorita deprecado, la manera de hacerlo ahora es la siguiente:

await new Promise(r => setTimeout(r, 3000))

La r es un valor generico que en este case representa resolve, pero en este caso no sale ningun error si no lo “llenan” con alguna function

Que ansiedad me da que el profe no use ;

FYI,

El metodo waitForTimeout ha sido marcado como obsoleto a partir de la version 16.1.1.

En su lugar se recomienda ejecutar un setTimeout

Fuente:
https://github.com/puppeteer/puppeteer/pull/8793/files

https://demoqa.com/modal-dialogs

Web usada por el profe

Si quieres que no corran los demás test, agrega una x al describe de estos archivos:

xdescribe('...' , ( )  => {...})

Si quieren evitar que se ejecuten las pruebas anteriores cada vez que guardan el archivo, pueden agregar “.skip” luego del describe de las pruebas que no quieren que se ejecuten.

A partir de este año, 2024, aparentemente hubo una actualización y page.waitForXPath ya no es una función válida. La documentación (https://pptr.dev/guides/page-interactions) provee los siguientes ejemplos de nuevo uso: const element = await page.waitForSelector('::-p-xpath(h2)') const node = await page.waitForSelector('xpath/h2');
Para evitar que cada vez que guardes cambios estos automáticamente se ejecuten puedes hacer lo siguiente: 1. Ingresa a settings.json, en este enlace te explica <https://www.alphr.com/vs-code-how-to-open-settings-json/> 2. Ya una vez estés en settings.json coloca ``` { "jest.runMode": "on-demand" } ``` 1. Y listo, ya no se ejecutarán automáticamente los cambios
BUENAS NOCHES, SI ALGUIEN AVANZO EN ESTE MODULO PODRIA COMPARTIR LA SOLUCON AL CODIGO "WAITFORXPATH" DEBIDO A QUE ESTE FUE REEMPLAZO ESTE AÑO 2024 EN SU LENGUAJE DE PROGRAMACION DE PUPPETEER YO LO INTENTE PERO NO ME SALIO BIEN LO INTENTE DE MUCHAS FORMAS: La documentación (<https://pptr.dev/guides/page-interactions>) provee los siguientes ejemplos de nuevo uso: const element = await page.waitForSelector('::-p-xpath(h2)') const node = await page.waitForSelector('xpath/h2'); ![](https://static.platzi.com/media/user_upload/imagen-3099ec4f-5ea1-4f52-9a1a-701a5cfc44fe.jpg)
```js const puppeteer = require("puppeteer") describe("Tipos de espera",()=>{ it("Mostrar todos los diferentes tipos de espera", async()=>{ const browser = await puppeteer.launch({ headless:false, defaultViewport: null, }); const page = await browser.newPage(); await page.goto("https://platzi.com", {waitUntil: "networkidle2"}) //Espera explicita await new Promise((resolve) => setTimeout(resolve, 3000)); //Espera por un css selector //await page.waitForSelector("body > main > header > div > figure > svg") //Espera por un xpath //await page.waitForXPath("/html/body/main/header/div/figure/svg/g/path[1]"); await page.goto("https://demoqa.com/modal-dialogs", {waitUntil:"networkidle2"}); //await page.waitForSelector("#showSmallModal",{visible: true}); // con hidden es para cuando se oculte const button = await page.waitForSelector("#showSmallModal",{visible: true}); // Usar XPath para seleccionar el botón y asegurarse de que es visible //const button = await page.waitForXPath('//*[@id="showSmallModal"]',{visible: true}); await button.click() await browser.close(); }, 350000); }) ```const puppeteer = require("puppeteer") describe("Tipos de espera",()=>{     it("Mostrar todos los diferentes tipos de espera", async()=>{        const browser = await puppeteer.launch({            headless:false,            defaultViewport: null,         });         const page = await browser.newPage();        await page.goto("https://platzi.com", {waitUntil: "networkidle2"})         //Espera explicita         await new Promise((resolve) => setTimeout(resolve, 3000));         //Espera por un css selector         //await page.waitForSelector("body > main > header > div > figure > svg")         //Espera por un xpath         //await page.waitForXPath("/html/body/main/header/div/figure/svg/g/path\[1]");         await page.goto("https://demoqa.com/modal-dialogs", {waitUntil:"networkidle2"});         //await page.waitForSelector("#showSmallModal",{visible: true}); // con hidden es para cuando se oculte                const button = await page.waitForSelector("#showSmallModal",{visible: true});         // Usar XPath para seleccionar el botón y asegurarse de que es visible        //const button = await page.waitForXPath('//\*\[@id="showSmallModal"]',{visible: true});        await button.click()                await browser.close();    }, 350000);})

//Por si tienen curiosidad de cerrar el modal
await page.goto(‘https://demoqa.com/modal-dialogs’, {waitUntil: ‘networkidle2’})
//se espera a que aparezca el button
const button = await page.waitForSelector(’#showSmallModal’, {visible: true})
await button.click(’#showSmallModal’)
await page.waitForTimeout(5000)
await button.click(’#closeSmallModal’)//cierra modal
await browser.close()