Maison > interface Web > js tutoriel > Comment cliquer sur des éléments basés sur du contenu textuel à l'aide de Puppeteer et XPath ?

Comment cliquer sur des éléments basés sur du contenu textuel à l'aide de Puppeteer et XPath ?

Susan Sarandon
Libérer: 2024-10-28 16:30:02
original
954 Les gens l'ont consulté

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

Cliquer sur des éléments par texte avec Puppeteer

Dans Puppeteer, cliquer sur des éléments spécifiques en fonction de leur contenu textuel peut être obtenu à l'aide d'expressions XPath.

Comment cliquer sur des éléments avec du texte

Pour cliquer sur un élément avec un texte spécifique, utilisez l'expression XPath suivante :

const [element] = await page.$x("//element[contains(., 'text')]");
await element.click();
Copier après la connexion

Remplacez "élément " avec le nom de balise approprié (par exemple, "bouton" ou "a") et "texte" avec la sous-chaîne souhaitée. Par exemple :

//button[contains(., 'Button text')]
Copier après la connexion

Considérations

  • Assurez-vous que l'élément contient la chaîne de texte exacte.
  • Si l'élément est imbriqué dans un conteneur spécifique, utilisez un "/" supplémentaire pour sélectionner l'élément ancêtre souhaité. Par exemple, pour cliquer sur un bouton à l'intérieur d'un div :
//div[@class='container']/button[contains(., 'Button text')]
Copier après la connexion

XPath vs. Text()

L'expression XPath contient(., ' Text') utilise les nœuds enfants de l'élément pour correspondre au texte spécifié. En revanche, contain(text(), 'Text') ne prend en compte que le contenu textuel de l'élément.

Exemple

Étant donné le code HTML suivant :

<div class="elements">
    <button>Button text</button>
    <a href="#">Href text</a>
    <div>Div text</div>
</div>
Copier après la connexion

Pour cliquer sur le bouton, utilisez :

const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Button text')]");
await button.click();
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal