2012-03-30 29 views
0

如何檢查我正在查找的文本是否存在於此html中?XPATH驗證html中是否存在文本

<ul> 
    <li class="texto"> 
     Warning, invalid login. The login <b> rafael1983 </ b> is already associated with a registered user. 
    </li> 
</ul> 

我在做這個XPath表達式來檢索文本:

//*[contains(child::text(), 'Warning, invalid login. The login rafael1983 is already associated with a registered user.')] 

但是「rafael1983」是<b>標籤中,使表達不行,誰知道如何解決這個問題?

回答

0

嘗試

//*[contains(normalize-space(.), 'Warning, invalid login. The login rafael1983 is already associated with a registered user.')] 

或:

//li[contains(normalize-space(.), 'Warning, invalid login. The login rafael1983 is already associated with a registered user.')] 

這依賴於要匹配哪個元素。

對我來說,你想要檢查特定的字符串,包括登錄名 - 我希望你對任何'無效登錄'消息感興趣,這似乎有點奇怪。

+0

是因爲我正在開發的系統可以在同一屏幕上給出各種錯誤消息,我必須檢查每一個。 謝謝! – 2012-03-30 18:01:51

+1

這是有效的,因爲「。」意思是「節點的字符串值」,它結合了所有的子節點來創建值。因此,它並不在乎某些文字在「...」之內,有些則不是。 – 2012-03-31 02:50:32