Guida rapida burattini

Per utilizzare Puppeteer nel tuo progetto, devi prima installarlo.

Installazione

npm i puppeteer
# or "yarn add puppeteer"

Quando installi Puppeteer, viene scaricata una versione recente di Chromium (~170 MB per Mac, circa 282 MB di Linux, ~ 280 MB di vincita), il cui funzionamento è garantito con l'API. Per saltare il download, eseguire il download in un altro percorso o scaricare un browser diverso, consulta Variabili di ambiente.

burattini

Dalla versione 1.7.0, pubblichiamo il pacchetto puppeteer-core. Questa versione di Puppeteer non scarica nessun browser per impostazione predefinita.

npm i puppeteer-core
# or "yarn add puppeteer-core"

puppeteer-core è destinato a essere una versione leggera di Puppeteer per avviare l'installazione di un browser esistente o per la connessione a una versione remota. Assicurati che la versione di puppeteer-core che installi sia compatibile con il browser a cui intendi connetterti.

Vedi puppeteer e puppeteer-core.

Utilizzo

Puppeteer segue l'ultima versione di manutenzione LTS del nodo.

Puppeteer probabilmente ha familiarità con le persone che utilizzano altri framework di test dei browser. Puoi creare un'istanza di Browser, aprire le pagine e poi manipolarle con l'API di Pupeteer.

Salva uno screenshot

Ad esempio, per accedere a https://example.com e salvare uno screenshot come example.png, salva il seguente codice in example.js.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({ path: 'example.png' });

  await browser.close();
})();

Puppeteer imposta le dimensioni iniziali della pagina su 800 × 600 px, che definisce le dimensioni dello screenshot. Le dimensioni della pagina possono essere personalizzate con Page.setViewport().

Crea un PDF

Salva il file come hn.js.

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://news.ycombinator.com', {
    waitUntil: 'networkidle2',
  });
  await page.pdf({ path: 'hn.pdf', format: 'a4' });

  await browser.close();
})();

Esegui lo script dalla riga di comando:

node hn.js

Vedi Page.pdf() per ulteriori informazioni sulla creazione di file PDF.

Valuta lo script nel contesto della pagina

Salva file come get-dimensions.js:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');

  // Get the "viewport" of the page, as reported by the page.
  const dimensions = await page.evaluate(() => {
    return {
      width: document.documentElement.clientWidth,
      height: document.documentElement.clientHeight,
      deviceScaleFactor: window.devicePixelRatio,
    };
  });

  console.log('Dimensions:', dimensions);

  await browser.close();
})();

Esegui lo script dalla riga di comando:

node get-dimensions.js

Consulta Valutazione di JavaScript per ulteriori informazioni sulla valutazione e sui metodi correlati come evaluateOnNewDocument e exposeFunction.

Impostazioni di runtime predefinite

Usa la modalità headless

Puppeteer avvia Chromium in modalità headless. Per avviare una versione completa di Chromium, imposta l'opzione headless all'avvio di un browser:

const browser = await puppeteer.launch({ headless: false }); // default is true

Esegue una versione in bundle di Chromium

Per impostazione predefinita, Puppeteer scarica e utilizza una versione specifica di Chromium, per garantire il funzionamento immediato della sua API. Per utilizzare Puppeteer con una versione diversa di Chrome o Chromium, inserisci il percorso dell'eseguibile durante la creazione di un'istanza Browser:

const browser = await puppeteer.launch({ executablePath: '/path/to/Chrome' });

Puoi utilizzare Puppeteer anche con Firefox Nightly (supporto sperimentale). Per ulteriori informazioni, visita la pagina Puppeteer.launch().

Per ulteriori informazioni:

Crea un nuovo profilo utente

Puppeteer crea il proprio profilo utente nel browser, che pulisce a ogni esecuzione.

Passaggi successivi