Une plateforme low-code alliant la simplicité du no-code à la puissance du full-code 🚀
Commencez gratuitement
Paramètres de lancement de Chrome dans Puppeteer : optimisation des performances et de la sécurité
24 mars 2025
7
min lire

Paramètres de lancement de Chrome dans Puppeteer : optimisation des performances et de la sécurité

Georges Miloradovitch
Chercheur, rédacteur et intervieweur de cas d'utilisation
Table des matières

Marionnettiste vous permet de personnaliser ChromeAméliorez le comportement de votre application grâce aux paramètres de lancement, ce qui peut améliorer la vitesse, réduire l'utilisation des ressources et renforcer la sécurité. Voici un bref résumé des actions possibles :

  • Boostez les performances: Désactivez les fonctionnalités inutiles telles que l’accélération GPU ou les extensions pour accélérer l’exécution et réduire l’utilisation de la mémoire.
  • Améliorer la sécurité: Ajustez les paramètres du sandbox ou contrôlez les fonctionnalités de sécurité Web pour protéger les tâches d'automatisation.
  • Optimiser la mémoire: Utilisez des indicateurs pour gérer les opérations gourmandes en mémoire ou éviter les plantages dans les environnements à faible mémoire.
  • Personnaliser le réseau et la confidentialité:Utilisez des proxys et gérez les demandes inter-origines pour une meilleure confidentialité et un meilleur contrôle.

Aperçu rapide des paramètres clés :

  • Performance: --disable-gpu, --disable-software-rasterizer
  • Mémoire: --disable-dev-shm-usage, --user-data-dir
  • Sécurité: --no-sandbox, --disable-web-security
  • Réseau: --proxy-server, --proxy-bypass-list

En modifiant ces paramètres, vous pouvez personnaliser Puppeteer pour répondre à vos besoins d'automatisation spécifiques, que vous optimisiez la vitesse, la mémoire ou la sécurité.

Marionnettiste Tutoriel n° 4 | Lancer le navigateur avec les options

Marionnettiste

Axé sur la performance Chrome Paramètres de lancement

Les paramètres de lancement de Chrome peuvent améliorer les performances de Puppeteer en réduisant l'utilisation des ressources et en accélérant l'exécution. Voici quelques-uns des paramètres les plus efficaces.

Accélérer le temps de lancement du navigateur

Le démarrage rapide du navigateur est essentiel pour les tâches d'automatisation, en particulier lors de l'exécution dans Docker Conteneurs. Deux paramètres peuvent contribuer à réduire le temps de lancement :

  • --no-sandbox: Désactive la fonctionnalité de sécurité sandbox de Chrome.
  • --disable-setuid-sandbox: Supprime les restrictions du sandbox setuid sur Linux.

Ces options sont les mieux adaptées aux environnements Docker sécurisés.

const browser = await puppeteer.launch({
  args: ['--no-sandbox', '--disable-setuid-sandbox']
});

Minimiser la consommation de mémoire

Réduire l'utilisation de la mémoire est essentiel lors de la gestion de plusieurs instances de navigateur ou d'opérations gourmandes en mémoire. Les options suivantes peuvent réduire les besoins en mémoire de Chrome :

Paramètre Objectif Effect
--disable-extensions Empêche le chargement des extensions du navigateur Réduit l'utilisation initiale de la mémoire
--disable-plugins Désactive les plugins du navigateur Réduit la consommation de ressources
--disable-dev-shm-usage Évite les problèmes de mémoire partagée Améliore la stabilité sur les systèmes à faible mémoire

Vous pouvez appliquer ces drapeaux avec :

const browser = await puppeteer.launch({
  args: [
    '--disable-extensions',
    '--disable-plugins',
    '--disable-dev-shm-usage'
  ]
});

Paramètres GPU pour un meilleur rendu

Le réglage des paramètres du GPU peut améliorer les performances de rendu, en particulier dans les environnements sans tête ou sur les systèmes sans matériel graphique dédié :

  • --disable-gpu: Désactive l'accélération matérielle du GPU, utile lorsqu'elle est inutile ou problématique.
  • --disable-software-rasterizer: Arrête le rendu basé sur un logiciel, qui peut consommer des ressources importantes.

Pour utiliser ces paramètres, incluez-les comme ceci :

const browser = await puppeteer.launch({
  args: [
    '--disable-gpu',
    '--disable-software-rasterizer'
  ]
});

Ces paramètres liés au GPU sont particulièrement utiles dans les environnements cloud ou conteneurisés où l'accès au GPU est limité, voire inutile. Testez différentes configurations pour trouver celle qui convient le mieux à votre cas d'utilisation. Ces ajustements de performances fonctionnent parfaitement en complément des paramètres de sécurité abordés dans la section suivante.

Paramètres de sécurité pour Chrome dans Puppeteer

Configurer les paramètres de sécurité de Chrome dans Puppeteer implique de trouver le juste équilibre entre fonctionnalité et protection. Si des ajustements de performances peuvent améliorer l'efficacité, des paramètres de lancement sécurisés sont essentiels pour protéger votre configuration d'automatisation.

En utilisant --disable-web-security

Le --disable-web-security L'option « flag » autorise les requêtes inter-origines, mais comporte des risques importants. Ce paramètre ne doit être utilisé que dans des environnements strictement contrôlés.

const browser = await puppeteer.launch({
  args: ['--disable-web-security']
});

Au lieu de vous fier à ce drapeau, voici des alternatives plus sûres :

Approche Description Meilleur cas d'utilisation
En-têtes CORS Configurer des en-têtes cross-origin appropriés Environnements de production
proxy serveur Route des requêtes via un proxy Test et développement
Demande d'interception Modifier les demandes par programmation Tâches d'automatisation complexes

Voyons ensuite comment les proxys peuvent améliorer la confidentialité.

Configuration des proxys pour la confidentialité

Utiliser un serveur proxy est une autre façon de protéger les données sensibles. Avec Puppeteer, vous pouvez acheminer le trafic via un serveur proxy en utilisant --proxy-server argument.

const browser = await puppeteer.launch({
  args: ['--proxy-server=proxy.example.com:8080']
});

Pour les proxys qui nécessitent une authentification, vous pouvez ajouter des informations d’identification au niveau de la page :

const page = await browser.newPage();
await page.authenticate({
  username: 'proxyuser',
  password: 'proxypass'
});

Paramètres Sandbox pour Chrome

Le sandboxing est essentiel à l'isolation des processus et à la sécurité globale. En désactivant le sandbox avec --no-sandbox c'est une option, il faut l'aborder avec prudence.

const browser = await puppeteer.launch({
  args: [
    '--no-sandbox',
    '--disable-setuid-sandbox'
  ]
});

« Courir sans bac à sable, c'est fortement découragé. Envisagez plutôt de configurer un bac à sable. »

En fonction de votre environnement, voici comment gérer les paramètres du sandbox :

Environnement Configuration recommandée Considérations de sécurité
Docker Utilisez --no-sandbox avec isolation du conteneur Risque modéré - atténué par la configuration du conteneur
Services Cloud Configurer des chemins sandbox personnalisés Équilibre entre sécurité et compatibilité
Développement local Gardez le bac à sable activé Assure une sécurité maximale

Les paramètres du sandbox jouent un rôle majeur dans la détermination du niveau de sécurité de votre automatisation. Dans la plupart des cas, conserver la configuration par défaut du sandbox est le choix le plus sûr.

sbb-itb-23997f1

Paramètres de performances avancés

S'appuyant sur des ajustements de performances antérieurs, ces paramètres avancés affinent l'utilisation des ressources et aident à éviter les problèmes de mémoire.

Paramètres de mémoire JavaScript

Vous pouvez contrôler le moteur JavaScript de Chrome à l'aide du --js-flags paramètre:

const browser = await puppeteer.launch({
  args: [
    '--js-flags=--max-old-space-size=2048 --expose-gc'
  ]
});

Ici, 2048 Mo sont alloués aux opérations JavaScript et le ramasse-miettes manuel est activé.

Éviter les erreurs de mémoire

Pour réduire les plantages liés à la mémoire dans les environnements conteneurisés, utilisez le --disable-features=IsolateOrigins drapeau:

const browser = await puppeteer.launch({
  args: [
    '--disable-features=IsolateOrigins'
  ]
});
Stratégie d'optimisation Description Impact positif
Bloquer les ressources inutiles Filtre les téléchargements supplémentaires pour réduire l'utilisation de la mémoire Chargement plus rapide des pages
Activer la mise en cache des ressources Réutilise les données mises en cache pour éviter les téléchargements redondants Stabilité améliorée

Configuration de la fenêtre du navigateur

import { KnownDevices } from 'puppeteer';
const iPhone = KnownDevices['iPhone 15 Pro'];

const browser = await puppeteer.launch({
  args: ['--window-size=1200,800']
});
const page = await browser.newPage();
await page.emulate(iPhone);
Paramètre Objectif Best Practice
Taille de la fenêtre Définit les dimensions du navigateur Correspond à la fenêtre d'affichage cible
Émulation de périphérique Simule des appareils spécifiques Configurer avant la navigation
Démarrer maximisé Ouvre le navigateur en plein écran Utiliser pour l'automatisation du bureau

Pour maintenir les performances tout en limitant l'utilisation de la mémoire :

  • Utilisez userDataDir pour mettre en cache les ressources
  • Compresser les charges utiles HTTP
  • Optimiser les images et supprimer les ressources inutilisées
  • Bloquer les trackers et les publicités

Ces paramètres fonctionnent en complément des ajustements précédents pour offrir des performances élevées et maintenir la sécurité.

Utilisation des paramètres Chrome dans Laténode

Laténode

Configurez les paramètres de lancement de Chrome dans Latenode pour améliorer à la fois les performances et la sécurité.

Configuration du marionnettiste dans Latenode

Configurez Puppeteer dans Latenode avec des paramètres de lancement personnalisés :

const browser = await puppeteer.launch({
  args: [
    '--disable-gpu',
    '--disable-dev-shm-usage',
    '--no-sandbox',
    '--disable-setuid-sandbox'
  ],
  headless: true
});

Ces paramètres sont spécifiquement adaptés à l'environnement conteneurisé de Latenode.

Configuration des paramètres Chrome

Latenode prend en charge une variété de paramètres de lancement de Chrome, organisés en catégories pour différents cas d'utilisation :

Catégorie de paramètres Arguments courants Objectif
Performance --disable-gpu, --disable-software-rasterizer Pour les tâches gourmandes en ressources
Sécurité --no-sandbox, --disable-web-security Idéal pour les configurations conteneurisées
Réseau --proxy-server, --proxy-bypass-list Assure la confidentialité et le contrôle d'accès
Mémoire --disable-dev-shm-usage Gère l'automatisation à haut volume

Avec ces configurations, Latenode dimensionne efficacement les tâches d’automatisation du navigateur.

Automatisation du navigateur à grande échelle

Une configuration correcte des paramètres est essentielle pour optimiser l'automatisation du navigateur dans Latenode. La plateforme est conçue pour gérer l'exécution parallèle tout en optimisant l'utilisation des ressources :

const browser = await puppeteer.launch({
  args: [
    '--disable-gpu',
    '--disable-software-rasterizer',
    '--disable-dev-shm-usage',
    '--user-data-dir=/path/to/profile',
    '--proxy-server=http://proxy.example.com:8080'
  ]
});

« L'utilisation des arguments et des indicateurs Puppeteer peut modifier considérablement le comportement de vos sessions de navigation sans interface utilisateur pour répondre à des exigences spécifiques. » - hayageek.com

L'architecture de Latenode prend en charge jusqu'à 1.5 million d'exécutions de scénarios par mois dans ses plans d'entreprise, ce qui en fait une option fiable pour l'automatisation à grande échelle.

Pour garantir des performances fluides dans les scénarios à volume élevé :

  • Ajustez les limites de mémoire en fonction de la complexité du flux de travail
  • Utilisez user-data-dir pour mettre en cache les ressources fréquemment consultées
  • Faire pivoter les proxys pour gérer les modèles d'accès distribués

Ces configurations s'intègrent parfaitement aux fonctionnalités de Latenode, offrant une automatisation fiable et évolutive avec une sécurité renforcée et des performances efficaces.

Résumé

Les paramètres de lancement de Chrome jouent un rôle crucial dans les performances et la sécurité de Puppeteer. Comprendre ces paramètres peut vous aider à affiner votre workflow d'automatisation. Vous trouverez ci-dessous un tableau de référence rapide présentant les indicateurs clés et leurs fonctions.

Référence des paramètres principaux

Les indicateurs Chrome les plus importants sont regroupés en fonction de leur utilisation prévue :

Catégories Paramètres Objectif
Performance --disable-gpu, --disable-software-rasterizer Améliorer la vitesse et l'utilisation des ressources
Mémoire --disable-dev-shm-usage, --user-data-dir Optimiser la mémoire et la mise en cache
Sécurité --no-sandbox, --disable-web-security Ajuster les paramètres de sécurité
Réseau --proxy-server, --proxy-bypass-list Gérer l'accès et la confidentialité
const browser = await puppeteer.launch({
  args: [
    '--disable-gpu',
    '--disable-dev-shm-usage',
    '--user-data-dir=/path/to/profile',
    '--remote-debugging-port=9222'
  ]
});

Prochaines étapes

Vous pouvez améliorer votre flux de travail d’automatisation en suivant ces étapes :

  • Définissez vos besoins : Identifiez les exigences de performance et de sécurité de votre projet.
  • Expérimentez avec les paramètres : Testez différentes combinaisons d’indicateurs dans votre environnement de développement pour trouver la meilleure configuration.
  • Suivre les performances : Gardez un œil sur l’utilisation de la mémoire et le comportement du navigateur pour mesurer l’impact de vos modifications.
  • Restez à jour: Révisez et mettez à jour régulièrement vos paramètres pour les aligner sur ChromiumLes dernières fonctionnalités de.

Intégrez ces ajustements dans des outils comme Latenode pour maintenir un processus d’automatisation de navigateur sécurisé et efficace.

articles similaires

Blogs connexes

Cas d'utilisation

Soutenu par