Maison > interface Web > js tutoriel > Commencer avec marionnettiste

Commencer avec marionnettiste

Lisa Kudrow
Libérer: 2025-02-10 16:06:12
original
140 Les gens l'ont consulté

marionnetteer: une bibliothèque Node.js pour automatiser le chrome / chrome

Puppeteer, une bibliothèque de nœuds développée par l'équipe Google Chrome, propose une API de haut niveau pour contrôler Chrome ou Chromium via le protocole Devtools. Cet outil puissant simplifie des tâches comme le grattage Web, la génération de captures d'écran et de PDF de site Web, d'automatisation des soumissions de formulaires et de procéder à l'analyse des performances.

Getting Started with Puppeteer

PRENDRE:

Pour utiliser Puppeteer, vous aurez besoin de familiarité avec JavaScript (ES6), Node.js (dernière version recommandée) et YARN (utilisé dans ce tutoriel). L'installation est simple: yarn add puppeteer. Cette commande télécharge une instance de chrome groupée; Pour une installation plus légère (nécessitant un navigateur préexistant), utilisez yarn add puppeteer-core. Notez que puppeteer-core nécessite le nœud v6.4.0 ou supérieur, tandis que l'utilisation des fonctionnalités asynchrones / attend nécessite le nœud v7.6.0.

Capacités de clés:

Puppeneer rationalise diverses tâches d'automatisation Web:

  • Stracage Web: Extraire les données des sites Web efficacement.
  • Capture d'écran et génération de PDF: Créer des images de haute qualité et des PDF des pages Web, y compris les éléments SVG et Canvas.
  • Spa rampant: naviguer et interagir avec les applications à une page (spas).
  • Automatisation du formulaire: Automatiser le remplissage et la soumission du formulaire.
  • Analyse des performances: Analyser les métriques de performance du site Web.
  • Test d'interface utilisateur: Simuler les interactions utilisateur à des fins de test (similaire à Cypress).
  • Test d'extension chromée: Testez la fonctionnalité des extensions de chrome.

Les marionnettistes simplifient les interactions complexes du navigateur, l'abstraction des détails de bas niveau par rapport à des alternatives comme le sélénium ou les fantômes maintenant déprimés. Sa maintenance active garantit la compatibilité avec les dernières fonctionnalités ECMAScript.

Exemples pratiques:

Les exemples suivants démontrent la facilité d'utilisation de la marionnettiste:

1. Génération d'une capture d'écran:

Le code ci-dessous génère une capture d'écran de Unclash:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.setViewport({ width: 1920, height: 1080 });
  await page.goto('https://unsplash.com');
  await page.screenshot({ path: 'unsplash.png' });
  await browser.close();
})();
Copier après la connexion

Getting Started with Puppeteer

2. Création d'un PDF:

Cet extrait génère un PDF de Hacker News:

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();
})();
Copier après la connexion

3. Connexion Facebook (sans tête: faux pour la visibilité):

Cet exemple montre la connexion automatisée (remplacer les espaces réservés par vos informations d'identification):

const puppeteer = require('puppeteer');

const EMAIL = 'YOUR_EMAIL';
const PASSWORD = 'YOUR_PASSWORD';

(async () => {
  const browser = await puppeteer.launch({ headless: false });
  const page = await browser.newPage();
  await page.goto('https://facebook.com', { waitUntil: 'networkidle2' });
  // ... (Selectors and input/click actions for login) ...
  await browser.close();
})();
Copier après la connexion

Getting Started with Puppeteer

Conclusion:

Puppeneer est un outil polyvalent pour automatiser les tâches de navigateur. Son API intuitive et son développement actif en font un excellent choix pour divers besoins d'automatisation Web. Reportez-vous à la documentation officielle des marionnettes pour des informations plus détaillées et des exemples d'utilisation avancés.

Questions fréquemment posées (FAQ):

  • Qu'est-ce que la bibliothèque de marionnettiste? Une bibliothèque Node.js pour contrôler le chrome / chrome.
  • BROWNSEURS SANS TEAUX: BROWNSEURS SANS GUI, IDEAL pour l'automatisation côté serveur.
  • Compatibilité du navigateur: principalement chrome / chrome, bien que des extensions existent pour d'autres navigateurs.
  • Cas d'utilisation: Stracage Web, test, génération de captures d'écran, création PDF, tests de performances, et plus encore.
  • Stracage à grande échelle: Utiliser de manière responsable, en respectant les conditions d'utilisation du site Web et en évitant les serveurs de surcharge.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal