XPath遇到br標籤無法獲取到完整數據的解決辦法

XPath與<br>標籤

當使用xpath獲取html頁面元素時,如果某個element中包含有<br>標籤,使用xpath將無法獲取到完整的數據。因爲br標籤即可以表示數據的開始,也可以表示數據的結束。那麼這個時候可以使用descendant-or-self::text()來獲取完整數據。
descendant-or-self::text()表示

選取當前節點的所有後代元素(子、孫等)以及當前節點本身

示例:

<td>
SCALANCE X switches用於連接工業部件,如可編程邏輯控制器(PLC)或人機界面(HMI)。
<br>
<br>
多款SCALANCE X switches產品存在鏡像端口隔離漏洞。該漏洞由於受影響產品的監視屏障未以阻止數據通過鏡像端口轉發到鏡像網絡中。攻擊者可能會使用此行爲將惡意數據包傳輸到鏡像網絡中的系統,這可能會影響其配置和運行時間。
<br>
</td>

如果直接在td標籤上使用text()方法獲取文本,只能獲取到

SCALANCE X switches用於連接工業部件,如可編程邏輯控制器(PLC)或人機界面(HMI)。

如果使用descendant-or-self::text()則可以獲取到所有的文本,但是還需要對文本進行處理,去掉換行之類的無效文本。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章