Möchten Sie Bot-Erkennungssysteme umgehen, während Sie Chrome automatisieren? Das Tool puppeteer-extra-plugin-stealth hilft dabei, Automatisierungs-Fingerabdrücke zu verbergen, sodass Websites Bots schwerer erkennen können.
Wichtigste Erkenntnisse:
- Was es tut: Verschleiert Automatisierungsmarker (wie
navigator.webdriver) und ahmt echtes Browserverhalten nach. - So funktioniert es: Passt Browser-Fingerabdrücke an, führt natürliche Browsing-Muster ein und verwaltet Sitzungsdetails.
- Warum es wichtig ist: Hilft, die Erkennung durch fortschrittliche Anti-Bot-Systeme wie CAPTCHA-Abfragen und Browser-Fingerprinting zu vermeiden.
- Einrichtung: Installieren Sie
Puppeteer,puppeteer-extraund das Stealth-Plugin über npm oder Yarn. Verwenden Sie das Stealth-Plugin, um Ihren Browser so zu konfigurieren, dass er sich wie ein echter Nutzer verhält.
Kurzes Beispiel:
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();
})();
Dieses Tool eignet sich ideal für die Automatisierung von Aufgaben auf Websites mit strenger Bot-Erkennung. Erfahren Sie, wie Sie es einrichten, seine Einstellungen optimieren und menschenähnliches Verhalten simulieren, um unerkannt zu bleiben.
Nodejs-Puppeteer-Tutorial #7 – Erkennung umgehen mit ...
Installation und Einrichtung
Für den Einstieg müssen Sie die erforderlichen Pakete installieren und so konfigurieren, dass die Erkennung während der Automatisierung minimiert wird. Dieser Abschnitt behandelt den Installationsprozess, die Ersteinrichtung und Tests, damit alles wie vorgesehen funktioniert.
Installation der erforderlichen Pakete
Installieren Sie zunächst Puppeteer, Puppeteer Extra und das Stealth-Plugin. Öffnen Sie Ihr Terminal und führen Sie den folgenden Befehl aus:
npm install puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
Wenn Sie Yarn verwenden, nutzen Sie stattdessen diesen Befehl:
yarn add puppeteer puppeteer-extra puppeteer-extra-plugin-stealth
Schritte zur Ersteinrichtung
Richten Sie nach der Installation Ihre JavaScript-Datei ein, um das Stealth-Plugin zu integrieren. Hier ist der benötigte Code:
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();
})();
Wichtig: Stellen Sie sicher, dass Sie Puppeteer aus 'puppeteer-extra' statt aus 'puppeteer' importieren, um auf die zusätzlichen Funktionen zuzugreifen [2].
Sobald Sie die Einrichtung abgeschlossen haben, sollten Sie überprüfen, ob alles korrekt funktioniert.
Installation testen
Führen Sie diese Tests aus, um zu bestätigen, dass Ihre Einrichtung wie erwartet funktioniert:
- Test der Grundfunktionalität: Versuchen Sie, eine Website aufzurufen, die Bots erkennt, und prüfen Sie die Ergebnisse.
- Screenshot-Prüfung: Erstellen Sie einen Screenshot der Testseite, um zu bestätigen, dass die Stealth-Funktionen korrekt angewendet werden.
- reCAPTCHA-Score-Prüfung: Beobachten Sie Ihre reCAPTCHA-v3-Scores, um festzustellen, ob es Verbesserungen gibt.
Für eine schnelle Überprüfung verwenden Sie das folgende Skript:
(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();
})();
Dieses Skript erstellt einen Screenshot der Testseite. Prüfen Sie den Screenshot, um festzustellen, ob sich Ihr Browser wie ein regulärer Chrome-Browser verhält, ohne Anzeichen einer Automatisierung preiszugeben.
Sobald Ihre Einrichtung diese Tests besteht, können Sie sich mit den erweiterten Funktionen des Plugins befassen, die im nächsten Abschnitt behandelt werden.
Zentrale Stealth-Funktionen
Das puppeteer-extra-plugin-stealth nutzt verschiedene Techniken, um automatisiertes Browsing schwerer erkennbar zu machen.
Verschleierung der Browser-Identität
Das Plugin passt wichtige Browsereigenschaften an, um einen typischen Chrome-Browser nachzuahmen. Dazu gehören:
- Ersetzen des Standard-User-Agents
HeadlessChromedurch einen natürlicheren Wert - Festlegen realistischer
Accept-Language-Header - Anpassen der Codec-Unterstützung für die Medienwiedergabe
- Ändern von
navigator.vendor, damit es dem Standardverhalten von Chrome entspricht
Diese Änderungen helfen dabei, ein Browserprofil zu erstellen, das wie ein regulärer Nutzer und nicht wie ein Bot wirkt. Darüber hinaus setzt das Plugin Anti-Fingerprinting-Techniken ein, um das Erkennungsrisiko weiter zu senken.
Anti-Fingerprinting-Methoden
| Funktion | Methode | Zweck |
|---|---|---|
| Prozessor-Emulation | Begrenzt logische Prozessoren auf 4 | Ahmt typische Nutzer-Hardware nach |
| Plugin-Emulation | Simuliert navigator.mimeTypes und Plugins | Imitiert die Standardfunktionen von Chrome |
| Fenstereigenschaften | Fügt outerWidth und outerHeight hinzu | Vervollständigt die Browser-Simulation |
| Anbieter-Eigenschaften | Passt die Google-Kennung von Chrome an | Hilft, Automatisierungserkennung zu vermeiden |
Diese Methoden sorgen dafür, dass sich der Browser so verhält, wie Websites es von echten Nutzern erwarten.
Entfernen von Automatisierungsmarkern
Um die Automatisierung weiter zu verschleiern, entfernt oder verändert das Plugin verräterische Anzeichen für Bot-Aktivitäten:
- Löscht die Eigenschaft
navigator.webdriver - Fügt die Objekte
chrome.appundchrome.csihinzu, die in regulären Chrome-Browsern vorhanden sind - Verbirgt das Attribut
sourceurlin Puppeteer-Skripten - Passt
permissions-Eigenschaften an natürliches Browserverhalten an
CAPTCHA-Verwaltung
Das Plugin hilft außerdem, CAPTCHA-Abfragen zu reduzieren, indem es ein konsistentes Browserverhalten beibehält und Sitzungen effektiv verwaltet. Dadurch entsteht ein Browsing-Muster, das menschlicher Aktivität entspricht und die meisten Bot-Erkennungstests auf Plattformen wie sannysoft.com umgehen kann [2]. Fortschrittliche Anti-Bot-Systeme, etwa die von Cloudflare, können die Automatisierung jedoch in einigen Fällen weiterhin erkennen [1].
sbb-itb-23997f1
Benutzerdefinierte Konfiguration
Mit einer benutzerdefinierten Konfiguration können Sie Stealth-Einstellungen und Browserverhalten anpassen, um die Erkennung effektiver zu vermeiden.
Einstellungen der Stealth-Module
Mit Puppeteer Stealth können Sie seine Umgehungsmodule für bestimmte Websites verwalten. Sie können Module nach Bedarf aktivieren oder deaktivieren:
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"]
}
})
Nach der Einrichtung der Stealth-Module können Sie das Browserverhalten weiter anpassen, um echte Nutzeraktivitäten besser nachzuahmen.
Einstellungen für das Browserverhalten
Optimieren Sie Browserparameter, um ein authentisches Browsing-Erlebnis zu simulieren:
| Kategorie | Optionen | Zweck |
|---|---|---|
| Nutzeridentität | User-Agent, Plattform, Sprachen | Erstellt eine konsistente Browser-Identität |
| Hardwareprofil | WebGL-Anbieter, Bildschirmabmessungen | Imitiert tatsächliche Geräteeigenschaften |
| Laufzeitumgebung | Chrome-Laufzeitobjekte, Navigator-Eigenschaften | Emuliert normales Browserverhalten |
Führen Sie natürliche Verzögerungen zwischen Aktionen ein, damit die Automatisierung weniger auffällt:
const randomDelay = (min, max) => {
return Math.floor(Math.random() * (max - min + 1) + min);
}
await page.waitForTimeout(randomDelay(1000, 3000));
Diese Verzögerungen helfen Ihrer Automatisierung, menschlichem Verhalten ähnlicher zu sehen.
Proxy-Konfiguration
Die Verwendung von Proxys beim Starten des Browsers erhöht die Anonymität:
const browser = await puppeteer.launch({
args: [
`--proxy-server=http://proxy.example.com:8080`,
'--disable-features=IsolateOrigins,site-per-process'
]
});
„Es ist wahrscheinlich unmöglich, alle Methoden zur Erkennung von Headless Chromium zu verhindern. Es sollte jedoch möglich sein, die Erkennung so schwierig zu machen, dass sie entweder unwirtschaftlich wird oder zu viele falsch positive Ergebnisse erzeugt, um praktikabel zu sein.“ – TiZho, GitHub-Mitwirkender [3]
Rotieren Sie Proxys und richten Sie einen automatischen Failover ein, um eine zuverlässige Verbindung aufrechtzuerhalten. Diese Konfigurationen helfen, Erkennungsrisiken zu minimieren und gleichzeitig eine stabile Leistung sicherzustellen.
Best Practices für Stealth
Damit automatisierte Sitzungen unauffällig bleiben, sind sorgfältige Planung und Umsetzung entscheidend.
Natürliche Browsing-Muster
Simulieren Sie realistisches Browsing, indem Sie zufällige Verzögerungen und Aktionen hinzufügen:
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);
}
| Verhaltensmuster | Umsetzung | Zweck |
|---|---|---|
| Mausbewegung | Zufällige Kurven und Geschwindigkeiten | Imitiert natürliche Cursorbewegungen |
| Seiteninteraktion | Variierende Scrolltiefe und Pausen | Simuliert Lesegewohnheiten |
| Navigations-Timing | Zufällige Verzögerungen (1,5–4 Sekunden) | Vermeidet vorhersehbare Zeitmuster |
| Eingabegeschwindigkeit | Zufällige Intervalle zwischen Tastenanschlägen | Ahmt menschliches Tippverhalten nach |
Diese simulierten Interaktionen ergänzen die zuvor beschriebenen Konfigurationseinstellungen.
Sitzungsverwaltung
Eine ordnungsgemäße Sitzungsverwaltung stellt sicher, dass die Stealth-Einstellungen konsistent bleiben. Verwenden Sie persistenten Speicher, um Cookies und Sitzungsdaten zu speichern:
const browserContext = await browser.createIncognitoBrowserContext({
userDataDir: './sessions/user1',
persistentContext: true
});
Sie können Cookies auch effektiv verwalten:
// Remove specific cookies but keep session-critical data
await page.deleteCookie({
name: '_ga',
domain: '.example.com'
});
Nutzungsrichtlinien
Kombinieren Sie die oben genannten Techniken mit diesen praktischen Schritten für eine bessere Automatisierung:
Verwaltung der Anfragerate: Beginnen Sie mit einer Verzögerung von 2 Sekunden zwischen Anfragen und erhöhen Sie sie, wenn CAPTCHAs auftreten.
Fehlerbehandlung: Erstellen Sie ein Wiederholungssystem für fehlgeschlagene Anfragen:
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)); } } }Proxy-Rotation: Verwenden Sie mehrere IP-Adressen, um nicht aufgrund übermäßiger Aktivität markiert zu werden.
„Es ist wahrscheinlich unmöglich, alle Methoden zur Erkennung von Headless Chromium zu verhindern. Es sollte jedoch möglich sein, die Erkennung so schwierig zu machen, dass sie entweder unwirtschaftlich wird oder zu viele falsch positive Ergebnisse erzeugt, um praktikabel zu sein.“ – TiZho, GitHub-Mitwirkender [3]
Behalten Sie sich weiterentwickelnde Anti-Bot-Erkennungsmethoden im Blick und passen Sie Ihre Einstellungen bei Bedarf an. Diese Praktiken ergänzen die zuvor im Artikel behandelten Stealth-Techniken.
Fazit
Hier ist eine kurze Zusammenfassung der wichtigsten Punkte und Tipps für die effektive Nutzung von Puppeteer-extra-plugin-stealth.
Wichtigste Vorteile
Puppeteer-extra-plugin-stealth unterstützt Sie dabei, Browsing zu automatisieren, ohne markiert zu werden. Es funktioniert, indem es Automatisierungsmarker mithilfe integrierter Umgehungsmodule verbirgt [2].
Zu den wichtigsten Funktionen gehören:
- Entfernen der Kennung „HeadlessChrome“ aus User-Agent-Headern.
- Verbergen kritischer Automatisierungsmarker wie
navigator.webdriver. - Anpassen von Browser-Fingerabdrücken, um echtes Nutzerverhalten nachzuahmen.
- Ermöglichen maßgeschneiderter Umgehungsstrategien für die Anforderungen bestimmter Websites.
Tipps für die Implementierung
Berücksichtigen Sie diese Strategien, um Ihre Automatisierungseinrichtung zu optimieren:
| Fokusbereich | Strategie | Ergebnis |
|---|---|---|
| Umgehungsmodule | Aktivieren Sie nur die Funktionen, die Sie benötigen | Geringeres Erkennungsrisiko, bessere Leistung |
| Fehlerverwaltung | Verwenden Sie Wiederholungslogik mit exponentiellem Backoff | Zuverlässigere Behandlung temporärer Probleme |
| Sitzungsverwaltung | Verwenden Sie persistente Browserkontexte | Konsistentes Stealth-Profil über Sitzungen hinweg |
Weitere Empfehlungen:
- Beginnen Sie mit den Standard-Stealth-Einstellungen und passen Sie sie anschließend an Ihre Anforderungen an.
- Bleiben Sie über neue Anti-Bot-Techniken informiert und passen Sie Ihren Ansatz entsprechend an.
- Kombinieren Sie Stealth-Funktionen mit natürlichem Browserverhalten, um bessere Ergebnisse zu erzielen.
- Konzentrieren Sie sich auf eine konsistente Sitzungsverwaltung, um Erkennung zu vermeiden.
Keine Einrichtung ist zu 100 % narrensicher. Die Kombination mehrerer Umgehungstaktiken macht die Erkennung jedoch deutlich schwieriger. Der Erfolg hängt von einer sorgfältigen Einrichtung und regelmäßigen Aktualisierungen Ihrer Methoden ab. Diese Tipps bilden gemeinsam mit den Funktionen des Plugins eine starke Grundlage für nicht erkennbare Automatisierung.


