首頁 >後端開發 >php教程 >如何使用XPath準確選擇CSS類別?

如何使用XPath準確選擇CSS類別?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-06 04:35:11751瀏覽

How Can I Accurately Select CSS Classes Using XPath?

使用XPath 選擇CSS 類:綜合指南

挑戰

使用XPath 選擇CSS 類帶來了獨特的挑戰,因為XPath 缺乏本機等效項到CSS 類別選擇器。本文探討了這個問題的複雜性,並提供了一個有效的解決方案。

錯誤的方式:類別等於

使用 //*[@class="foo"] 的 XPath 選擇器無法選擇具有多個類別或類別名稱周圍有空格的元素。

錯誤的方式:類別包含

選擇器,例如//*[contains(@class, "foo")] 符合 foobar 等類別的元素,這是不正確的。

正確的方法:Normalize-Space 和Contains

選擇元素對於特定的類,XPath 使用以下選擇器:

//*[contains(concat(" ", normalize-space(@class), " "), " foo ")]
  • normalize-space( ) 刪除前導和尾隨空格。
  • concat() 在類別屬性值前後加上一個空格。
  • contains() 檢查連接的字串是否包含目標類別。

等效性和進一步的含義

提供的XPath 選擇器等效於CSS 選擇器*[class~="foo"],將元素與包含目標類的類別進行匹配。理解這些細微差別對於熟練 XPath 至關重要。

以上是如何使用XPath準確選擇CSS類別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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