- Automatisiertes Session-Management
- Wählen Sie eine beliebige Stadt in 195 Ländern
- Unbegrenzte Anzahl gleichzeitiger Sessions
Wie findet man Elemente mit XPath in Puppeteer?
Mit Puppeteer können Sie Elemente mit XPath anstelle von CSS-Selektoren ganz einfach finden, indem Sie die Funktion page.$x() verwenden. Dies ist besonders nützlich für die Navigation in komplexen HTML-Strukturen. Hier finden Sie eine detailliertere und effizientere Methode zur Verwendung von XPath mit Puppeteer.
Das folgende Skript zeigt, wie Sie mit Puppeteer Elemente per XPath finden und mit ihnen interagieren können:
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
// Öffnen Sie die Website von Bright Data
await page.goto('https://brightdata.com');
// Finde das erste h2-Element mit XPath.
const [firstH2] = await page.$x('//h2');
if (firstH2) {
const h2Text = await page.evaluate(el => el.textContent, firstH2);
console.log('Erster H2-Text:', h2Text);
} else {
console.log('Kein H2-Element gefunden');
}
// Alle Ankerelemente mit einer bestimmten Klasse mithilfe von XPath suchen
const allLinks = await page.$x('//a[@class="specific-class"]');
const linkTexts = await Promise.all(
allLinks.map(link => page.evaluate(el => el.textContent, link))
);
console.log('Alle Links mit bestimmter Klasse:', linkTexts);
// Browser schließen
await browser.close();
})();
Erklärung
- Starten des Browsers:
- Das Skript startet einen Puppeteer-Browser im Nicht-Headless-Modus, sodass Sie die Browseraktionen in Echtzeit sehen können.
- Zur Website navigieren:
- Das Skript navigiert mit
page.goto()zur Website von Bright Data.
- Das Skript navigiert mit
- Elemente per XPath finden:
- Erstes H2-Element: Das Skript findet das erste
h2-Elementmitpage.$x('//h2'). Anschließend extrahiert es dessen Textinhalt und protokolliert ihn. - Alle Ankerelemente mit einer bestimmten Klasse: Das Skript findet alle Ankerelemente (
<a>) mit einer Klasse„specific-class”mithilfe vonpage.$x('//a[@class="specific-class"]'). Es extrahiert und protokolliert deren Textinhalt.
- Erstes H2-Element: Das Skript findet das erste
- Schließen des Browsers:
- Schließlich schließt das Skript den Browser mit
browser.close().
- Schließlich schließt das Skript den Browser mit
Weitere Informationen zur Verwendung von XPath zum Auswählen von Elementen nach Klasse finden Sie in dieser hilfreichen Anleitung.
Mit dieser Methode können Sie mithilfe von XPath in Puppeteer effektiv durch komplexe HTML-Strukturen navigieren und mit Elementen interagieren, wodurch Sie Ihre Fähigkeiten beim Web-Scraping und bei der Automatisierung verbessern.