首頁 > web前端 > js教程 > 主體

Puppeteer 可以根據文字內容點擊元素嗎?

DDD
發布: 2024-11-01 01:49:02
原創
564 人瀏覽過

 Can Puppeteer Click Elements Based on Their Text Content?

在Puppeteer 中點擊帶有文字的元素

問題:
Puppeteer 是否可以根據文字內容點擊元素,即使有沒有唯一識別符?

簡短回答:
是的,您可以使用 XPath 表達式點擊包含特定文字的元素。

說明:
XPath 提供了一種根據各種條件(包括其文字內容)查詢元素的方法。以下是如何在 Puppeteer 中使用它:

<code class="js">const [button] = await page.$x("//button[contains(., 'Button text')]");
if (button) {
    await button.click();
}</code>
登入後複製

此表達式選擇頁面中包含文字「按鈕文字」的第一個按鈕元素。

同時確保按鈕位於類別為「elements」的元素,將以下內容加入 XPath 表達式:

<code class="js">const [button] = await page.$x("//div[@class='elements']/button[contains(., 'Button text')]");</code>
登入後複製

為什麼不使用 text()?

  • 使用 contains(text( ), 'Text') 在某些情況下可能無法傳回預期結果,例如當文字位於子節點中時。
  • 使用 contains(., 'Text') 檢查元素的整個內容,包括子節點,提供更準確的結果。

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板