No tienes acceso a esta clase

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

Abriendo y cerrando el navegador

6/15
Recursos

Aportes 31

Preguntas 17

Ordenar por:

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

Alguien de el Platzi team que pueda poner los recursos de los que habla el profesor? ya van carios videos que promete recursos y no están en la ventana. Gracias

Aquí el código del proyecto:

const puppeteer = require('puppeteer');

describe('Mi primer test en puppeteer', () => {
	it('Debe abrir y cerrar el navegador', async () => {
		const browser = await puppeteer.launch({
			headless: false,
		});
		const page = await browser.newPage();
		await page.goto('https://www.google.com');
		await page.waitForTimeout(5000);
		await browser.close();
	}, 10000);
});

Si les da error del navegador solo deben instalar el chromium desde la carpeta de node_modules

cd ./node_modules/puppeteer
npm run install

A la fecha de publicar este aporte la prueba falla cuando se implementa el método waitForTimeout, según vs este método ya está deprecado. Les comparto mi código. ![](

el responsable de los cursos que ponga los recursos que faltan aqui por dios es cierto que ya van varios videos y no pone nada y uno que esta aprendiendo se pierde yo al menos ya me perdi

en que min pusiste el :

it('Debe abrir y cerrar el navegador', async () => {
......
	}, 10000);

1000 ?

En la nueva versión de Puppeteer ya no está disponible la función de waitForTimeout en 2024 await page.waitForTimeout(5000); -> En la documentación actual ya se trabaja con promesas await new Promise(resolve => setTimeout(resolve, 5000)); -> Versión actual ![](https://static.platzi.com/media/user_upload/image-e67adcc9-6fc7-4e38-a169-6c5af760f37b.jpg)

😊

//importar puppeteer
const puppeteer = require('puppeteer')

//escribir la prueba 
describe(' Mi primer test en puppeteer',()=>{

    it('Debe de abrir y cerrar el navagador', async() =>{
        const browser = await puppeteer.launch({    
            headless: false 
        })
        const page = await browser.newPage() /
        await page.goto('https://es.wikipedia.org/wiki/Wikipedia:Portada') //el navegador.. navega a....
        await page.waitForTimeout(1000)  
        await browser.close() 
    })
})
A la fecha esta obsoleta la funcion para hacer un delay:
await page.waitForTimeout(5000);

se pruede reemplazar por estas 2 opciones:

new Promise(r => setTimeout(r, 5000))
/// otra solucion
await page.evaluate(() => {
return new Promise((resolve) => {
setTimeout(resolve, 5000);
});
});
  1. Tiempo de espera para visualizar la página
  2. Tiempo máximo que se le asigna a la prueba

Si 2 es menor que el tiempo que toma la prueba para ejecutarse aparece “failed”. Si por ejemplo 1 es mayor que 2, sucede este escenario ya que se está programando que el tiempo de espera tarde mas que el tiempo máximo asignado para la prueba.

Acabe de realizar el código y así me funciono.

const puppeteer=require(‘puppeteer’);
describe(‘Mi primer test en puppeteer’, ()=>{
it(‘Debe abrir y cerrar el navegador’, async () => {
const browser = await puppeteer.launch({
headless: false
});
const page = await browser.newPage();
await page.goto(‘https://www.google.com’);
await browser.close();
}, 20000);
});

He sufrido para realizar el primer test, pero con la ayuda de IA, la documentación para hacer una buena instalación de Puppeteer y Chrome en WSL, logré terminar, les paso mi código: ![](https://static.platzi.com/media/user_upload/image-a3828f7b-3c17-40ec-9316-f4e670ed85aa.jpg)
En la nueva versión de Puppeteer ya no está disponible la función de waitForTimeout en 2024 await page.waitForTimeout(5000); -> En la documentación actual ya se trabaja con promesas await new Promise(resolve => setTimeout(resolve, 5000)); -> Versión actual ```js const puppeteer = require('puppeteer'); describe('Mi test en Puppeteer', () => { it('Debe visitar la página de Wikipedia', async () => { const browser = await puppeteer.launch({ headless:false }); const page = await browser.newPage(); await page.goto('https://es.wikipedia.org/wiki/Juli%C3%A1n_Andr%C3%A9s_Qui%C3%B1ones'); await new Promise(resolve => setTimeout(resolve, 5000)); await browser.close(); }, 10000); }); ```const puppeteer = require('puppeteer'); describe('Mi test en Puppeteer', () => {    it('Debe visitar la página de Wikipedia', async () => {        const browser = await puppeteer.launch({            headless:false        });        const page = await browser.newPage();        await page.goto('https://es.wikipedia.org/wiki/Juli%C3%A1n\_Andr%C3%A9s\_Qui%C3%B1ones');        await new Promise(resolve => setTimeout(resolve, 5000));        await browser.close();    }, 10000);});
Si tienen problemas con esta linea de código: ```js await page.waitForTimeout(5000); ```*await* new Promise((resolve) => setTimeout(resolve, 5000))await page.waitForTimeout(5000); reemplazarla con esta: ```js await new Promise((resolve) => setTimeout(resolve, 5000)) ```

Aún no cargan los recursos…

Hola Comunidad, alguien que me pueda ayudar a solucionar el problema?? ![](https://static.platzi.com/media/user_upload/image-580f773c-0217-4613-a9e8-83f3619bd2a9.jpg)
```js const puppeteer = require("puppeteer") describe('Mi primer test en puppeteer',()=>{ it("Debe de abrir y cerrar el navegador", async()=>{ const browser = await puppeteer.launch({ headless:false, }); const page = await browser.newPage(); await page.goto("https://www.google.com"); await new Promise((resolve) => setTimeout(resolve, 5000)); await browser.close(); }, 20000); }) ```const puppeteer = require("puppeteer") describe('Mi primer test en puppeteer',()=>{     it("Debe de abrir y cerrar el navegador", async()=>{        const browser = await puppeteer.launch({            headless:false,        });        const page = await browser.newPage();        await page.goto("https://www.google.com");        await new Promise((resolve) => setTimeout(resolve, 5000));        await browser.close();    }, 20000);})
```js const puppeteer = require('puppeteer') describe('Mi primer test en puppeteer', () => { it('Debe abrir y cerrar el navegador', async () => { const browser = await puppeteer.launch({ headless: false, }); const page = await browser.newPage() await page.goto('https://platzi.com') await browser.close() },10000) }) ```const puppeteer = require('puppeteer') describe('Mi primer test en puppeteer', () => {    it('Debe abrir y cerrar el navegador', async () => {        const browser = await puppeteer.launch({            headless: false,        });        const page = await browser.newPage()        await page.goto('https://platzi.com')        await browser.close()    },10000)})
Es asi como el codigo corre la parte del time debe ser omitida const puppeteer = require('puppeteer') describe('Mi primer test en puppeteer', () => {    it('Debe abrir y cerrar el navegador', async () => {        const browser = await puppeteer.launch({            headless: false,        });        const page = await browser.newPage()        await page.goto('https://platzi.com')        await browser.close()    },10000)})
Si tienen errores con: ```js await page.waitForTimeout(5000); ```*await* new Promise((resolve) => setTimeout(resolve, 5000))Prueben reemplazando esa linea de código por esta: ```js await new Promise((resolve) => setTimeout(resolve, 5000)) ```
Ya busqué y no encuentro la razón de este error. Alguien sabe ¿Que puede estar paando? ![](https://static.platzi.com/media/user_upload/image-14acc887-37fb-45d1-9187-7f03b2007032.jpg)
Para que Puppeteer funcione en tu navegador Chrome: ```js const browser= await puppeteer.launch({ headless:false, executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe' }) ```Deberían cambiar executablePath por la ubicación del navegador que tengan y en el formato mostrado
Para que Puppeteer funcione en tu navegador Chrome: ```js const browser= await puppeteer.launch({ headless:false, executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe' }) ```Deberían cambiar `executablePath` por la ubicación del navegador que tengan y en el formato mostrado
Para que Puppeteer funcione en tu navegador Chrome: `const browser= await puppeteer.launch({            headless:false,            executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe'        })` Deberían cambiar `executablePath` por la ubicación del navegador que tengan
```js const puppeteer = require('puppeteer'); describe('Mi primer test en puppeteer', () => { it('Debe abrir y cerrar el navegador', async () => { const browser = await puppeteer.launch({ headless: false, }); const page = await browser.newPage(); await page.goto('https://www.google.com'); await new Promise((resolve) => setTimeout(resolve, 5000)); await browser.close(); }, 20000); }); ```Este es el código que utilicé, sustituyendo el código deprecado await page.waitForTimeout(5000); por el nuevo código: await new Promise((resolve) => setTimeout(resolve, 5000)); También ejecuté dentro de la carpeta principal: `npx @puppeteer/browsers install chrome@stable`

https://github.com/puppeteer/puppeteer

Ejemplo oficial de puppeteer

import puppeteer from 'puppeteer';

(async () => {
  // Launch the browser and open a new blank page
  const browser = await puppeteer.launch();
  const page = await browser.newPage();

  // Navigate the page to a URL
  await page.goto('https://developer.chrome.com/');

  // Set screen size
  await page.setViewport({width: 1080, height: 1024});

  // Type into search box
  await page.type('.search-box__input', 'automate beyond recorder');

  // Wait and click on first result
  const searchResultSelector = '.search-box__link';
  await page.waitForSelector(searchResultSelector);
  await page.click(searchResultSelector);

  // Locate the full title with a unique string
  const textSelector = await page.waitForSelector(
    'text/Customize and automate'
  );
  const fullTitle = await textSelector?.evaluate(el => el.textContent);

  // Print the full title
  console.log('The title of this blog post is "%s".', fullTitle);

  await browser.close();
})();
`it('Debe de abrir y cerrar el navegador', async () => {` ` const browser = await puppeteer.launch({` ` headless: false,` ` executablePath: '/usr/bin/chromium',` ` args: ['--no-sandbox', '--disable-setuid-sandbox'],` ` });` ` ` ` const page = await browser.newPage()` ` await page.goto('https://www.google.com.ar')` ` await page.waitForTimeout(5000)` ` await browser.close()` ` }, 10000)`
A la fecha esta obsoleta la funcion para hacer un delay:
await page.waitForTimeout(5000);

se puede reemplazar por estas 2 opciones:

1.new Promise(r => setTimeout(r, 5000))

2.await page.evaluate(() => {
return new Promise((resolve) => {
setTimeout(resolve, 5000);
});
});

recursos please

Tenia un error con WSL para iniciar Google Chrome “Missing X server or $DISPLAY”. La solución es instalar “VcXsrv Windows X Server”. Este video muestra como descargarlo e instalarlo Link.

Código utilizado:

const puppeteer=require(‘puppeteer’)
describe(’ Mi primer test en puppeteer’, ()=>{
it(‘Debe abrir y cerrar el navegador’, async () => {
const browser = await puppeteer.launch({
headless:false
})
const page=await browser.newPage()
await page.goto(‘https://www.google.com’)
await page.waitForTimeout(5000)
await browser.close()
}, 10000)
})

Hola Comunidad, alguien que pueda ayudarme ? me sale este error ![](https://static.platzi.com/media/user_upload/image-154f2ad5-e424-473e-b2ca-964dcbcf4876.jpg)