Mit Puppeteer auf Elemente nach Text klicken
In Puppeteer kann das Klicken auf bestimmte Elemente basierend auf ihrem Textinhalt mithilfe von XPath-Ausdrücken erreicht werden.
So klicken Sie auf Elemente mit Text
Um auf ein Element mit bestimmtem Text zu klicken, verwenden Sie den folgenden XPath-Ausdruck:
const [element] = await page.$x("//element[contains(., 'text')]"); await element.click();
Ersetzen Sie „element „ mit dem entsprechenden Tag-Namen (z. B. „button“ oder „a“) und „text“ mit der gewünschten Teilzeichenfolge, die übereinstimmen soll. Zum Beispiel:
//button[contains(., 'Button text')]
Überlegungen
//div[@class='container']/button[contains(., 'Button text')]
XPath vs. Text()
Der XPath-Ausdruck enthält(., ' Text‘) verwendet die untergeordneten Knoten des Elements, um den angegebenen Text abzugleichen. Im Gegensatz dazu berücksichtigt enthält(text(), 'Text') nur den Textinhalt des Elements.
Beispiel
Gegebenes folgendes HTML:
<div class="elements"> <button>Button text</button> <a href="#">Href text</a> <div>Div text</div> </div>
Um auf die Schaltfläche zu klicken, verwenden Sie:
const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Button text')]"); await button.click();
Das obige ist der detaillierte Inhalt vonWie klicke ich mit Puppeteer und XPath auf Elemente basierend auf Textinhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!