使用 Puppeteer 依文字點選元素
在 Puppeteer 中,可以使用 XPath 表達式來依照文字內容點選特定元素。
如何點選帶有文字的元素
要點選具有特定文字的元素,請使用以下XPath 表達式:
const [element] = await page.$x("//element[contains(., 'text')]"); await element.click();
取代「元素" 帶有適當的標籤名稱(例如,「button」或「a」),「text」帶有所需的子字串來匹配。例如:
//button[contains(., 'Button text')]
注意事項
//div[@class='container']/button[contains(., 'Button text')]
XPath 與Text()
XPath 表達式包含(., ' Text')使用元素的子節點來匹配指定的文字。相反, contains(text(), 'Text') 僅考慮元素的文字內容。
範例
給定以下 HTML:
<div class="elements"> <button>Button text</button> <a href="#">Href text</a> <div>Div text</div> </div>
要點選按鈕,請使用:
const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Button text')]"); await button.click();
以上是如何使用 Puppeteer 和 XPath 根據文字內容點擊元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!