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();
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')]
Considérations
//div[@class='container']/button[contains(., 'Button text')]
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>
Pour cliquer sur le bouton, utilisez :
const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Button text')]"); await button.click();
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!