Rolando Tarqui Benito
EstudianteBryan Bell
EstudianteJulián David Ruiz Nieto
EstudianteEduardo Rafael Romero Bernal
EstudianteJose Cruzado
EstudianteGabriel Cayoja
EstudianteRolando Tarqui Benito
EstudianteJesus Cuadro
EstudianteHarold Orlando Aguirre Zacipa
EstudianteGustavo Adolfo Torres Quintana
EstudianteAlberto Alejandro Foinquinos Benitez
EstudianteManuel Ledezma
EstudianteJavier Fuentes Mora
ProfesorJavier Fuentes Mora
ProfesorOsmel Jose Vera Isasis
EstudianteWaldemar Mezquita
Estudiantejefred bedoya
EstudiantePEDRO FELIPE MALDONADO PIMENTEL
EstudianteJavier Fuentes Mora
ProfesorJavier Fuentes Mora
ProfesorNataly Vargas
EstudianteGeovanni Atavales Quiroga
EstudianteYomara Lizbeth Quispe Alanoca
EstudianteSi tienen problemas con el selector de Platzi. les comento que son si estas logeado te da un selector diferente...
siempre busquen selectores en modo incógnito, para evitar sesgos
Buen tip.
Muchas gracias por el tip.
Yo agregaría todo ese selector largo a una variable auto descriptiva, algo así:
let platziLogo = "#home-student-new > div > header > nav > div.Logo > div > a > div > figure.LogoHeader-name > img"; await page.waitForSelector( platziLogo );
Si tienen problemas con la método waitForTimeout(), pueden reemplazar esa línea de código por:
new Promise(r => setTimeout(r, 5000));
En las versiones actuales (2023) ese metodo está en desuso.
Se dieron cuenta que en el minuto 7:44 aparecio con lineas de codigo extra?
const puppeteer = require('puppeteer') describe('1er test', () => { it('debe abrir browser', async () => { const browser = await puppeteer.launch({ headless: false, //slowMo: 1000, //devtools: false, defaultViewport: null }) const page = await browser.newPage() await page.goto('url') //await page.waitForTimeout(2000) await page.waitForSelector('img') //recargar pagina await page.reload() await page.waitForSelector('img') //navegar a otro sitio await page.goto('https://platzi.com/') await page.waitForSelector('#home-public > div > div.BaseLayout > header > nav > div.Logo > div > a > div > figure:nth-child(1) > img') //ir hacia atras y adelante await page.goBack() await page.goForward() //abrir otra pagina en otra pestaña const page2 = await browser.newPage() await page2.goto('url') await page2.waitForTimeout(2000) await browser.close() }, 20000) })
Muchas gracias
en el minuto 7:44 despues de ejecutar la prueba hay un salto donde aparecen unas lineas de codigo que no se explica como y porque las agrega
! Siempre agradecido con los amigos que envian ayudas oportunas + Son uds los que hacen que muchos continuemos avanzando en estos talleres + Platzi team + Deben mejorar seguimiento + control + actualizacion de talleres !
Si tienen problemas con los tiempo de respuesta cambien yahoo por otra pagina, en mi caso no se porque pero muchas pruebas terminaban fallando debido a yahoo, cambie la pagina y problema solucionado
Se puede aplicar page object model con puppeteer?
Si ! más adelante lo veremos !
si :) en el curso avanzado lo vemos
DE TODAS MANERAS DEJO EL CO
me estaba dando erroe si ponia el selector del logo platzi como sale en el video, pero lo coloqué así:
await page.waitForSelector('.LogoHeader-name > img:nth-child(1)')
y me funcionó, creo que ha cambiado algo de ese logo
Puppeteer es básicamente un titiritero de navegadores. Su poder reside en controlar el flujo de navegación de forma programática, permitiéndote automatizar desde simples visitas hasta interacciones complejas.
Los pilares son: lanzar una instancia de Chromium, gestionar el contexto de navegación para aislar sesiones, y manipular la página mediante comandos directos para extraer datos o ejecutar acciones.
¿Cómo puedo trabajar con la pestaña (page) que abre el navegador en lugar de crear una newPage() ?
hola, podrías explicar un poco mejor tu pregunta? si ves que me tardo en contestar puedes buscarme en twitter ya que no checo esto diario , @javier_mora94
no estoy seguro que entiendo tu pregunta
Hola, realice el mismo código const puppeteer = require('puppeteer')
describe(' mi primer test en puppeteer',() => {
it( 'Debe abrir y cerra el navegador', async () => { const browser = await puppeteer.launch({ hadless: false, defaultViewport: null }) const page = await browser.newPage() await page.goto('https://platzi.com/') await page.waitForTimeout(5000) //await page.waitselector('img') await page.reload() await browser.close() }, 30000)
pero al ejecutar me indica que esta pasado pero no me abre el navegador
Hasta esta parte del curso, la única ventaja de Puppeter que veo, es sobre el rendimiento de las pruebas, nada más.
Porque no se le pone directamente la direccion de la pagina en lugar de usar un selector?