Heim > Web-Frontend > js-Tutorial > Wie klicke ich mit Puppeteer auf ein Element basierend auf Textinhalten?

Wie klicke ich mit Puppeteer auf ein Element basierend auf Textinhalten?

Barbara Streisand
Freigeben: 2024-10-29 07:30:30
Original
415 Leute haben es durchsucht

How to Click an Element Based on Text Content Using Puppeteer?

Mit Puppeteer auf ein Element mit Text klicken

Herausforderung: Ein Element ausschließlich anhand seines Textes finden und anklicken Inhalt.

Betrachten Sie das folgende HTML-Snippet:

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

Ziel: Implementieren Sie eine Klickaktion für das Schaltflächenelement, das „Schaltflächentext“ enthält.

Lösung:

Der XPath-Ausdruck unten identifiziert die Schaltfläche, die den gewünschten Text enthält:

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

Um jedoch die Kompatibilität mit der umgebenden

Container verwenden Sie diesen modifizierten Ausdruck:

"//div[@class='elements']/button[contains(., 'Button text')]"
Nach dem Login kopieren

So führen Sie die Klickaktion aus:

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

Erklärung:

Mit .contains(. , 'Text') anstelle von .contains(text(), 'Text') Der XPath-Ausdruck stellt sicher, dass er untergeordnete Knoten einschließt und somit Textknoten tiefer in der Elementstruktur nicht ausschließt.

Das obige ist der detaillierte Inhalt vonWie klicke ich mit Puppeteer auf ein Element 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