Abonnements
PRODUIT
SOLUTIONS
par cas d'utilisation
AI Gestion du leadFacturationRéseaux SociauxGestion de projetGestion des donnéespar industrie
en savoir plus
BlogGabaritsVidéosYoutubeRESSOURCES
COMMUNAUTÉS ET RÉSEAUX SOCIAUX
PARTENAIRES
Vous souhaitez contourner les systèmes de détection de robots tout en automatisant Chrome? Le puppeteer-extra-plugin-stealth
est un outil qui permet de masquer les empreintes digitales d'automatisation, ce qui rend plus difficile pour les sites Web de détecter les robots.
navigator.webdriver
) et imite le comportement réel du navigateur.Puppeteer
, puppeteer-extra
, et le plugin furtif via NPM or filUtilisez le plugin furtif pour configurer votre navigateur afin qu'il se comporte comme un véritable utilisateur.import puppeteer from 'puppeteer-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';
puppeteer.use(StealthPlugin());
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://bot.sannysoft.com');
await browser.close();
})();
Cet outil est idéal pour automatiser les tâches sur les sites web avec une détection stricte des robots. Apprenez à le configurer, à optimiser ses paramètres et à simuler un comportement humain pour rester indétectable.
Pour commencer, vous devrez installer les packages nécessaires et les configurer afin de minimiser la détection lors de l'automatisation. Cette section décrit le processus d'installation, la configuration initiale et les tests pour garantir le bon fonctionnement de l'application.
D'abord, installez Marionnettiste, Marionnettiste supplémentaireainsi que, Plugin furtif. Ouvrez votre terminal et exécutez la commande suivante :
npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
Si vous utilisez Yarn, utilisez plutôt cette commande :
yarn add puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
Après l'installation, configurez votre fichier JavaScript pour intégrer le plugin furtif. Voici le code nécessaire :
import puppeteer from 'puppeteer-extra';
import StealthPlugin from 'puppeteer-extra-plugin-stealth';
puppeteer.use(StealthPlugin());
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://nowsecure.nl/');
await browser.close();
})();
Important: Assurez-vous d'importer Puppeteer depuis 'puppeteer-extra'
au lieu de 'puppeteer'
pour accéder aux fonctionnalités ajoutées.
Une fois la configuration terminée, il est temps de vérifier que tout fonctionne correctement.
Exécutez ces tests pour confirmer que votre configuration fonctionne comme prévu :
Pour une vérification rapide, utilisez le script suivant :
(async () => {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
await page.goto('https://bot.sannysoft.com');
await page.waitForTimeout(5000);
await page.screenshot({ path: 'stealth-test.png' });
await browser.close();
})();
Ce script effectuera une capture d'écran de la page de test. Vérifiez-la pour voir si votre navigateur se comporte comme un navigateur Chrome classique, sans montrer de signes d'automatisation.
Une fois que votre configuration a réussi ces tests, vous êtes prêt à plonger dans les fonctionnalités avancées du plugin, qui sont abordées dans la section suivante.
Le puppeteer-extra-plugin-stealth
utilise diverses techniques pour rendre la navigation automatisée plus difficile à détecter.
Le plugin ajuste les propriétés clés du navigateur pour reproduire un navigateur Chrome classique. Parmi celles-ci :
HeadlessChrome
agent utilisateur avec un agent plus naturelAccept-Language
têtesnavigator.vendor
pour correspondre au comportement standard de ChromeCes modifications permettent de créer un profil de navigateur qui ressemble à celui d'un utilisateur normal, et non à celui d'un robot. De plus, le plugin utilise des techniques anti-empreintes digitales pour réduire encore davantage le risque de détection.
Fonctionnalité | Méthode | Objectif |
---|---|---|
Émulation de processeur | Limite les processeurs logiques à 4 | Imite le matériel utilisateur typique |
Émulation de plugin | Se moque navigator.mimeTypes et plugins |
Imite les fonctionnalités standard de Chrome |
Propriétés de la fenêtre | Ajoute outerWidth et les outerHeight |
Termine la simulation du navigateur |
Propriétés du vendeur | Ajuste l'identifiant Google de Chrome | Aide à éviter la détection d'automatisation |
Ces méthodes garantissent que le navigateur se comporte d’une manière qui correspond à ce que les sites Web attendent des utilisateurs réels.
Pour masquer davantage l'automatisation, le plugin supprime ou modifie les signes révélateurs de l'activité du robot :
navigator.webdriver
propriétéchrome.app
et les chrome.csi
objets présents dans les navigateurs Chrome classiquessourceurl
attribut dans les scripts Puppeteerpermissions
propriétés pour correspondre au comportement naturel du navigateurLe plugin contribue également à réduire les problèmes de CAPTCHA en maintenant un comportement de navigation cohérent et en gérant efficacement les sessions. Cela crée un modèle de navigation adapté à l'activité humaine, lui permettant de contourner la plupart des tests de détection de robots sur des plateformes comme sannysoft.com. Cependant, des systèmes anti-bots avancés, comme ceux utilisés par Cloudflare, peut encore détecter l'automatisation dans certains cas.
La configuration personnalisée vous permet de modifier les paramètres de furtivité et le comportement du navigateur, vous aidant ainsi à éviter la détection plus efficacement.
Puppeteer Stealth vous permet de gérer ses modules d'évasion pour des sites web spécifiques. Vous pouvez activer ou désactiver les modules selon vos besoins :
const StealthPlugin = require('puppeteer-extra-plugin-stealth')
const stealth = StealthPlugin({
webglVendor: "Google Inc. (Intel)",
webglRenderer: "Intel Iris OpenGL Engine",
navigator: {
platform: "MacIntel",
languages: ["en-US", "en"]
}
})
Après avoir configuré les modules furtifs, vous pouvez ajuster le comportement du navigateur pour mieux imiter l'activité réelle des utilisateurs.
Ajustez les paramètres du navigateur pour imiter une véritable expérience de navigation :
Catégories | Options | Objectif |
---|---|---|
Identité de l'utilisateur | Agent utilisateur, plateforme, langages | Crée une identité de navigateur cohérente |
Profil matériel | Fournisseur WebGL, dimensions de l'écran | Imite les caractéristiques réelles de l'appareil |
Environnement d'exécution | Objets d'exécution Chrome, propriétés du navigateur | Émule le comportement normal du navigateur |
Introduisez des délais naturels entre les actions pour rendre l’automatisation moins détectable :
const randomDelay = (min, max) => {
return Math.floor(Math.random() * (max - min + 1) + min);
}
await page.waitForTimeout(randomDelay(1000, 3000));
L’ajout de ces délais permet à votre automatisation de ressembler au comportement humain.
L'utilisation de proxys lors du lancement du navigateur améliore l'anonymat :
const browser = await puppeteer.launch({
args: [
`--proxy-server=http://proxy.example.com:8080`,
'--disable-features=IsolateOrigins,site-per-process'
]
});
« Il est probablement impossible d'empêcher tous les moyens de détecter le chrome sans tête, mais il devrait être possible de rendre cette tâche si difficile qu'elle devienne prohibitive en termes de coût ou génère trop de faux positifs pour être réalisable. » - TiZho, contributeur GitHub
Effectuez la rotation des proxys et configurez le basculement automatique pour maintenir une connectivité fiable. Ces configurations permettent de minimiser les risques de détection tout en garantissant des performances stables.
Pour garder les sessions automatisées sous le radar, une planification et une exécution minutieuses sont essentielles.
Simulez une navigation réaliste en ajoutant des délais et des actions aléatoires :
async function emulateHumanBehavior(page) {
// Random scrolling behavior
await page.evaluate(() => {
window.scrollBy({
top: Math.random() * 500,
behavior: 'smooth'
});
});
// Random pauses between actions
await page.waitForTimeout(1500 + Math.random() * 2500);
}
Modèle de comportement | Implantation | Objectif |
---|---|---|
Mouvement de la souris | Courbes et vitesses aléatoires | Imite le mouvement naturel du curseur |
Interaction des pages | Varier les profondeurs de défilement et les pauses | Simule les habitudes de lecture |
Synchronisation de la navigation | Retards aléatoires (1.5 à 4 secondes) | Évite les schémas de synchronisation prévisibles |
Vitesse d'entrée | Intervalles de frappe aléatoires | Imite le comportement de frappe humain |
Ces interactions simulées fonctionnent parallèlement aux paramètres de configuration décrits précédemment.
Une gestion de session appropriée garantit la cohérence des paramètres de furtivité. Utilisez le stockage persistant pour enregistrer les cookies et les données de session :
const browserContext = await browser.createIncognitoBrowserContext({
userDataDir: './sessions/user1',
persistentContext: true
});
Vous pouvez également gérer efficacement les cookies :
// Remove specific cookies but keep session-critical data
await page.deleteCookie({
name: '_ga',
domain: '.example.com'
});
Combinez les techniques ci-dessus avec ces étapes pratiques pour une meilleure automatisation :
const maxRetries = 3;
const baseDelay = 2000;
async function fetchWithRetry(page, url) {
for (let i = 0; i < maxRetries; i++) {
try {
return await page.goto(url);
} catch (error) {
await page.waitForTimeout(baseDelay * Math.pow(2, i));
}
}
}
« Il est probablement impossible d'empêcher tous les moyens de détecter le chrome sans tête, mais il devrait être possible de rendre cette tâche si difficile qu'elle devienne prohibitive en termes de coût ou génère trop de faux positifs pour être réalisable. » - TiZho, contributeur GitHub
Suivez l'évolution des méthodes de détection anti-bots et ajustez vos paramètres si nécessaire. Ces pratiques complètent les techniques furtives abordées plus haut dans cet article.
Voici un bref résumé des principaux points et conseils d'utilisation Marionnettiste-figurant-plugin-stealth efficacement.
Marionnettiste-plugin-extra-furtif Permet d'automatiser la navigation sans être signalé. Cela fonctionne en masquant les marqueurs d'automatisation grâce à des modules d'évasion intégrés.
Certaines fonctionnalités clés incluent:
navigator.webdriver
.Pour affiner votre configuration d’automatisation, gardez ces stratégies à l’esprit :
Secteur d'intérêt | de Marketing | Résultat |
---|---|---|
Modules d'évasion | Activez uniquement les fonctionnalités dont vous avez besoin | Risque de détection réduit, meilleures performances |
Gestion des erreurs | Utiliser la logique de nouvelle tentative avec un recul exponentiel | Gestion plus fiable des problèmes temporaires |
Gestion des sessions | Utiliser des contextes de navigateur persistants | Profil furtif cohérent entre les sessions |
Suggestions supplémentaires :
Bien qu'aucune configuration ne soit infaillible à 100 %, combiner plusieurs tactiques d'évasion complique considérablement la détection. La réussite repose sur une configuration minutieuse et des mises à jour régulières de vos méthodes. Ces conseils, associés aux fonctionnalités du plugin, constituent une base solide pour une automatisation indétectable.