使用 XPath 按 CSS 類別尋找元素
在網頁擷取中,通常需要根據 CSS 類別來定位 HTML 元素。 XPath 是一個用於導航 XML 和 HTML 文件的強大工具,它提供了一種實現此目的的方法。
考慮一個 HTML 頁面,其中的 div 元素具有名為「Test」的類別。以下XPath 查詢可用於尋找此元素:
//*[contains(@class, 'Test')]
此查詢選擇包含「Test」類別的所有元素,無論它們出現在文檔樹中的哪個位置。
要最佳化效能,您可以將搜尋範圍縮小到特定元素類型,例如 div。例如,以下查詢將搜尋限制為包含「Test」類別的div:
//div[contains(@class, 'Test')]
但是,如果您有具有「Testvalue ”或“newTest”等類別的元素,上面的查詢也會匹配它們。為了確保更精確的匹配,您可以使用在「Test」類別之前和之後包含空格的串聯字串,如@Tomalak:
//div[contains(concat(' ', @class, ' '), ' Test ')]
此查詢將僅匹配包含單字「Test」作為單獨類別的div value.
要消除任何空白問題,您也可以使用標準化空間函數來標準化空格,如@Terry:
//div[contains(concat(' ', normalize-space(@class), ' '), ' Test ')]
最後,將這些查詢中的星號(*)替換為您想要匹配的實際元素名稱,除非您希望搜尋文件中的所有元素。這樣會提高查詢的效率。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3