Heim > Web-Frontend > js-Tutorial > Kann Puppeteer Elemente basierend auf ihrem Textinhalt anklicken?

Kann Puppeteer Elemente basierend auf ihrem Textinhalt anklicken?

DDD
Freigeben: 2024-11-01 01:49:02
Original
622 Leute haben es durchsucht

 Can Puppeteer Click Elements Based on Their Text Content?

Klicken auf Elemente mit Text in Puppeteer

Frage:
Kann Puppeteer auf Elemente basierend auf ihrem Textinhalt klicken, auch wenn dies der Fall ist? Keine eindeutige Kennung?

Kurze Antwort:
Ja, Sie können mit XPath-Ausdrücken auf Elemente klicken, die bestimmten Text enthalten.

Erklärung:
XPath bietet eine Möglichkeit, Elemente basierend auf verschiedenen Kriterien, einschließlich ihres Textinhalts, abzufragen. So verwenden Sie es in Puppeteer:

<code class="js">const [button] = await page.$x("//button[contains(., 'Button text')]");
if (button) {
    await button.click();
}</code>
Nach dem Login kopieren

Dieser Ausdruck wählt das erste Schaltflächenelement auf der Seite aus, das den Text „Schaltflächentext“ enthält.

Um auch sicherzustellen, dass sich die Schaltfläche innerhalb des befindet Element mit der Klasse „elements“ hinzufügen, fügen Sie dem XPath-Ausdruck Folgendes hinzu:

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

Warum nicht text()?

  • Mit enthält(text( ), 'Text') gibt in bestimmten Szenarien möglicherweise nicht die erwarteten Ergebnisse zurück, z. B. wenn sich der Text in untergeordneten Knoten befindet.
  • Die Verwendung von enthält(., 'Text') untersucht den gesamten Inhalt des Elements, einschließlich untergeordneter Knoten , was genauere Ergebnisse liefert.

Das obige ist der detaillierte Inhalt vonKann Puppeteer Elemente basierend auf ihrem Textinhalt anklicken?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage