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

  1. Starten des Browsers:
    • Das Skript startet einen Puppeteer-Browser im Nicht-Headless-Modus, sodass Sie die Browseraktionen in Echtzeit sehen können.
  2. Zur Website navigieren:
    • Das Skript navigiert mit page.goto() zur Website von Bright Data.
  3. Elemente per XPath finden:
    • Erstes H2-Element: Das Skript findet das erste h2-Element mit page.$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 von page.$x('//a[@class="specific-class"]'). Es extrahiert und protokolliert deren Textinhalt.
  4. Schließen des Browsers:
    • Schließlich schließt das Skript den Browser mit browser.close().

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.

Mehr als 20,000+ Kunden weltweit schenken uns ihr Vertrauen

Sind Sie bereit, loszulegen?