Si 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
Si 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
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)
})
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?
DE TODAS MANERAS DEJO EL CO
DIGO ACTUALIZADO PARA ESTE AÑO 2024, TAMBIEN LO DEJE ACTUALIZADO EN LA CLASE PASADA CON UNA IMAGEN.
Rolando Tarqui Benito
Si 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
Bryan Bell
Buen tip.
Julián David Ruiz Nieto
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 );
Jose Cruzado
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.
Gabriel Cayoja
Se dieron cuenta que en el minuto 7:44 aparecio con lineas de codigo extra?
Rolando Tarqui Benito
Jesus Cuadro
Muchas gracias
Harold Orlando Aguirre Zacipa
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
Gustavo Adolfo Torres Quintana
! 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 !
Alberto Alejandro Foinquinos Benitez
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
Manuel Ledezma
Se puede aplicar page object model con puppeteer?
Javier Fuentes Mora
ProfesorSi ! más adelante lo veremos !
Javier Fuentes Mora
Profesorsi :) en el curso avanzado lo vemos
Osmel Jose Vera Isasis
DE TODAS MANERAS DEJO EL CO
Waldemar Mezquita
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
Jefred Bedoya
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.
PEDRO FELIPE MALDONADO PIMENTEL
¿Cómo puedo trabajar con la pestaña (page) que abre el navegador en lugar de crear una newPage() ?
Javier Fuentes Mora
Profesorhola, 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
Javier Fuentes Mora
Profesorno estoy seguro que entiendo tu pregunta
Nataly Vargas
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
Geovanni Atavales Quiroga
Hasta esta parte del curso, la única ventaja de Puppeter que veo, es sobre el rendimiento de las pruebas, nada más.
Yomara Lizbeth Quispe Alanoca
Porque no se le pone directamente la direccion de la pagina en lugar de usar un selector?
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) })