Maison > interface Web > js tutoriel > le corps du texte

Comment cliquer sur des éléments avec un texte spécifique à l'aide de Puppeteer ?

DDD
Libérer: 2024-10-30 01:23:02
original
280 Les gens l'ont consulté

How to Click Elements with Specific Text Using Puppeteer?

Cliquez sur les éléments avec du texte à l'aide de Puppeteer

Cette question explore une solution pour cliquer sur des éléments contenant du texte spécifique dans Puppeteer. Bien que l'API ne fournisse pas explicitement de méthode pour cela, diverses approches peuvent être utilisées.

Solution d'expression XPath

Une méthode robuste consiste à utiliser des expressions XPath. Par exemple, pour sélectionner un bouton avec le texte « Texte du bouton » dans un div avec la classe « éléments », utilisez cette expression :

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

Explication

Utilisation du "text() " Le nœud dans XPath peut être problématique en raison de ses limitations dans la gestion de plusieurs textes. Au lieu de cela, l'expression "contient(" avec "." comme deuxième argument recherche le texte dans l'élément lui-même et ses enfants. Cela garantit que "Début" et "Fin" sont trouvés dans l'exemple fourni.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!