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()则可以获取到所有的文本,但是还需要对文本进行处理,去掉换行之类的无效文本。

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