web自动化测试中关于文本节点的获取问题

什么是文本节点:

<p><span>123</span>"真实数据"</p>

假如上面存在一个嵌套元素,且同时嵌套的除了元素还有文本,如果从元素角度来看,根本无法单独获取p标签里的文本“真实数据”,元素.getText会获取标签内的所有文本信息,即包括123.

于是存在另一种概念:文本节点,通过其是否含有文本内容,来判断是否成为一个节点,比如说p标签的子文本节点有:123 ,真实数据,这样选择第二个子文本节点就会选择真实数据。

在开发者工具里可以通过相应命令获取对应元素的文本节点

$x("//*[@class ='card-body item-list']//*[@class='title media-heading']/a//text()[position()=2]")

但是无法在代码端使用selenium来获取文本节点,selenium的findelement只能获取元素。如果要获取文本节点,只能通过JS来获取。