mindrally/puppeteer-automation

Conseils d'expert pour l'automatisation de navigateur avec Puppeteer, incluant les meilleures pratiques pour le scraping web, les tests, la capture d'écran et l'exécution JavaScript dans Chrome sans tête.

Qu'est-ce que puppeteer-automation ?

Cette compétence fournit des conseils d'expert pour utiliser Puppeteer afin d'automatiser des navigateurs Chromium. Elle couvre les meilleures pratiques pour le scraping web, les tests automatisés, la capture d'écran de pages, et l'exécution de scripts JavaScript en mode headless. Idéale pour les développeurs et ingénieurs QA, elle fonctionne avec Puppeteer sur Node.js et offre des recommandations pour éviter les détections, gérer les sessions, et optimiser les performances. En s'appuyant sur la documentation SKILL.md, elle guide l'utilisateur dans la configuration, l'interaction avec les pages, et la récupération de données tout en respectant les normes éthiques et techniques.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/mindrally/skills/tree/main/skills/puppeteer-automation

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Que fait puppeteer-automation ?

Conseils d'expert pour l'automatisation de navigateur avec Puppeteer, incluant les meilleures pratiques pour le scraping web, les tests, la capture d'écran et l'exécution JavaScript dans Chrome sans tête.

Introduction

Puppeteer est une bibliothèque Node.js qui fournit une API de haut niveau pour contrôler Chromium ou Chrome via le protocole DevTools. Cette compétence vous aide à tirer parti de Puppeteer de manière efficace et éthique.

Fonctionnalités principales

  • Scraping web : Extraire des données de pages web dynamiques.
  • Tests automatisés : Simuler des interactions utilisateur pour valider des fonctionnalités.
  • Capture d'écran : Prendre des captures d'écran de pages entières ou d'éléments spécifiques.
  • Exécution JavaScript : Exécuter des scripts dans le contexte de la page pour manipuler le DOM ou récupérer des informations.

Configuration

Pour commencer, installez Puppeteer via npm :

npm install puppeteer

Utilisez ensuite l'extrait suivant pour lancer un navigateur et ouvrir une page :

const puppeteer = require('puppeteer');

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

Meilleures pratiques

1. Gestion des sessions et des cookies

  • Utilisez page.setCookie() pour définir des cookies avant de naviguer.
  • Sauvegardez et restaurez le contexte de navigation pour éviter les détections.

2. Éviter la détection

  • Configurez des arguments de lancement comme --disable-blink-features=AutomationControlled.
  • Modifiez les en-têtes User-Agent pour imiter un navigateur réel.

3. Optimisation des performances

  • Utilisez page.waitForSelector() pour attendre des éléments spécifiques plutôt que des délais fixes.
  • Limitez les requêtes réseau si nécessaire avec page.setRequestInterception().

Exemples avancés

Capture d'écran d'une page entière

await page.screenshot({ path: 'capture.png', fullPage: true });

Exécution de JavaScript personnalisé

const title = await page.evaluate(() => document.title);
console.log(title);

Scraping de données structurées

const data = await page.evaluate(() => {
  return Array.from(document.querySelectorAll('.item')).map(item => ({
    name: item.querySelector('.name').innerText,
    price: item.querySelector('.price').innerText
  }));
});

Limitations et éthique

  • Respectez les conditions d'utilisation des sites web.
  • Limitez la fréquence des requêtes pour éviter de surcharger les serveurs.
  • Utilisez des proxies si nécessaire pour répartir les requêtes.

Ressources

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

mindrally/accessibility-a11y

Implement web accessibility (a11y) best practices following WCAG guidelines to create inclusive, accessible user interfaces.

mindrally/chrome-extension-development

Expert guidelines for Chrome extension development with Manifest V3, covering security, performance, and best practices. Use when building browser extensions, creating popup UIs, implementing content scripts, working with Chrome APIs, managing extension permissions, or publishing to Chrome Web Store.

mindrally/computer-vision-opencv

Expert guidance for computer vision development using OpenCV, PyTorch, and modern deep learning techniques for image and video processing.

mindrally/data-analysis-jupyter

Expert guidance for data analysis, visualization, and Jupyter Notebook development with pandas, matplotlib, seaborn, and numpy.

mindrally/deep-learning-pytorch

Expert guidance for deep learning, transformers, diffusion models, and LLM development with PyTorch, Transformers, Diffusers, and Gradio.

mindrally/expo-react-native-typescript

Expert in Expo React Native TypeScript mobile development with best practices

mindrally/fastapi-python

Expert in FastAPI Python development with best practices for APIs and async operations

mindrally/framer-motion

Expert guidelines for building performant animations with Framer Motion/Motion library in React applications

mindrally/htmx

HTMX development guidelines for building dynamic web applications with minimal JavaScript using HTML attributes.

mindrally/jwt-security

Guidelines for implementing JWT authentication with security best practices for token creation, validation, and storage

mindrally/machine-learning

Machine learning development with JAX, functional programming patterns, and high-performance computing.

mindrally/mysql-best-practices

MySQL development best practices for schema design, query optimization, and database administration

mindrally/nextjs-react-typescript

Expert in TypeScript, Node.js, Next.js App Router, React, Shadcn UI, Radix UI and Tailwind

mindrally/nextjs-typescript-tailwindcss-supabase

Full-stack Next.js 14 development with TypeScript, TailwindCSS, and Supabase for building production-ready web applications.

mindrally/odoo-development

Expert guidance for Odoo ERP development including Python ORM, XML views, and module architecture

mindrally/redis-best-practices

Redis development best practices for caching, data structures, and high-performance key-value operations

mindrally/scrapy-web-scraping

Expert guidance for building web scrapers and crawlers using the Scrapy Python framework with best practices for spider development, data extraction, and pipeline management.

mindrally/scss-best-practices

SCSS/Sassy CSS best practices and coding guidelines for maintainable, scalable stylesheets

mindrally/typeorm

Guidelines for developing with TypeORM, a full-featured ORM for TypeScript and JavaScript supporting multiple databases

mindrally/web-scraping

Expert in web scraping and data extraction with Python tools

Skills associés