Heim > Web-Frontend > js-Tutorial > Wie klicke ich mit Puppeteer und XPath auf Elemente basierend auf Textinhalten?

Wie klicke ich mit Puppeteer und XPath auf Elemente basierend auf Textinhalten?

Susan Sarandon
Freigeben: 2024-10-28 16:30:02
Original
951 Leute haben es durchsucht

How to Click Elements Based on Text Content Using Puppeteer and XPath?

Mit Puppeteer auf Elemente nach Text klicken

In Puppeteer kann das Klicken auf bestimmte Elemente basierend auf ihrem Textinhalt mithilfe von XPath-Ausdrücken erreicht werden.

So klicken Sie auf Elemente mit Text

Um auf ein Element mit bestimmtem Text zu klicken, verwenden Sie den folgenden XPath-Ausdruck:

const [element] = await page.$x("//element[contains(., 'text')]");
await element.click();
Nach dem Login kopieren

Ersetzen Sie „element „ mit dem entsprechenden Tag-Namen (z. B. „button“ oder „a“) ​​und „text“ mit der gewünschten Teilzeichenfolge, die übereinstimmen soll. Zum Beispiel:

//button[contains(., 'Button text')]
Nach dem Login kopieren

Überlegungen

  • Stellen Sie sicher, dass das Element die genaue Textzeichenfolge enthält.
  • Wenn das Element darin verschachtelt ist Um einen bestimmten Container zu erstellen, verwenden Sie ein zusätzliches „/“, um das gewünschte Vorgängerelement auszuwählen. Um beispielsweise auf eine Schaltfläche innerhalb eines Div zu klicken:
//div[@class='container']/button[contains(., 'Button text')]
Nach dem Login kopieren

XPath vs. Text()

Der XPath-Ausdruck enthält(., ' Text‘) verwendet die untergeordneten Knoten des Elements, um den angegebenen Text abzugleichen. Im Gegensatz dazu berücksichtigt enthält(text(), 'Text') nur den Textinhalt des Elements.

Beispiel

Gegebenes folgendes HTML:

<div class="elements">
    <button>Button text</button>
    <a href="#">Href text</a>
    <div>Div text</div>
</div>
Nach dem Login kopieren

Um auf die Schaltfläche zu klicken, verwenden Sie:

const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Button text')]");
await button.click();
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie klicke ich mit Puppeteer und XPath auf Elemente basierend auf Textinhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage