我有这个示例标签:
<div class='aaa'>
<p>aaa</p>
<div>bbb</div>
<div>ccc</div>
<div class='ddd'>
<div>ddd</div>
<div>eee</div>
</div>
</div>
在这里,我想提取<div class='aaa'>
下的所有内容,并排除<div>eee</div>
。
在运行时,<div class='ddd'>
下的标签数量可能会有所不同,但深度相同,但<div>eee</div>
总是倒数第二。
所以我尝试使用not(),last(),如下所示,但到目前为止,它们都没有起作用。
//div[contains(@class,"aaa")]//(text())[not(@class="ddd" and position()=last())]
如何修补xpath命令使其正常工作?
谢谢。
答案 0 :(得分:0)
最初获取所有元素,例如//div[contains(@class,"aaa")]
。然后从列表中弹出最后一个元素,并使用text()
获取所有其他文本内容。
答案 1 :(得分:0)