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()则可以获取到所有的文本,但是还需要对文本进行处理,去掉换行之类的无效文本。
本文介绍在使用XPath抓取包含<br>标签的HTML元素时遇到的问题及解决方法。通过使用descendant-or-self::text()可以获取完整的文本内容,但需要进一步处理去除换行等无效文本。

2103

被折叠的 条评论
为什么被折叠?



