首頁 >web前端 >js教程 >如何使用 Puppeteer 根據文字內容點擊元素?

如何使用 Puppeteer 根據文字內容點擊元素?

Barbara Streisand
Barbara Streisand原創
2024-10-29 07:30:30373瀏覽

How to Click an Element Based on Text Content Using Puppeteer?

使用Puppeteer 點擊帶有文字的元素

挑戰:僅根據文字定位並點擊元素

考慮以下HTML 片段:

<code class="html"><div class="elements">
    <button>Button text</button>
    <a href="#">Href text</a>
    <div>Div text</div>
</div></code>

目標: 在包含「按鈕文字」的按鈕元素上實現按一下動作。

解決方案:

下面的XPath 表達式標識包含所需文字的按鈕:

"//button[contains(., 'Button text')]"

但是,為了確保與周圍的

容器,使用此修改後的表達式:
"//div[@class='elements']/button[contains(., 'Button text')]"

執行點擊操作:

const [button] = await page.$x(&quot;//div[@class='elements']/button[contains(., 'Button text')]&quot;);
if (button) {
    await button.click();
}

說明:

使用.contains(. , 'Text') 而不是.contains(text(), 'Text') XPath 表達式確保它包含子節點,因此不會排除元素結構中更深層的文字節點。

以上是如何使用 Puppeteer 根據文字內容點擊元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn