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 22

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 ?

  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 鈥渇ailed鈥. 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(鈥榩uppeteer鈥);
describe(鈥楳i primer test en puppeteer鈥, ()=>{
it(鈥楧ebe 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);
});

馃槉

//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煤n no cargan los recursos鈥

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
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)
```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);
});
});
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);
});
});

recursos please

Tenia un error con WSL para iniciar Google Chrome 鈥淢issing X server or $DISPLAY鈥. La soluci贸n es instalar 鈥淰cXsrv Windows X Server鈥. Este video muestra como descargarlo e instalarlo Link.

C贸digo utilizado:

const puppeteer=require(鈥榩uppeteer鈥)
describe(鈥 Mi primer test en puppeteer鈥, ()=>{
it(鈥楧ebe 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)
})