2016-12-15 99 views
1

我试图选择包含一段文本的元素,但我不想选择包含文本和其他文本的元素。我通常会使用text()='abc def',但是这个特定元素包含前后的空格。Xpath - 如何选择包含文本但仅包含文本的元素

下面是一个例子片段:

<div> 
    <div> 
      abc def 
    </div> 
    <div> 
      abc def ghi 
    </div> 
    <div> 
      abc def ghi jkl 
    </div> 
</div> 

我要选择的第一个div但//div[text()='abc def']没有因为前导空格的工作,//div[contains(text(),'abc def']也不起作用,因为它会选择所有的div。

我已经看过normalize-spacestarts-with,但我无法让它工作。

回答

2

这是怎么回事?

//div[normalize-space()='abc def']/text() 
+0

这工作!我没有尝试normalize-space()='abc def',并且使用了normalize-space('abc def') – TabooSheen

0

'//div/div[normalize-space(text())="abc def"]'