xpath text()比较

时间:2010-11-04 17:38:37

标签: java text xpath

(网络开发新手) 嗨,任何人都可以解释为什么这个

Object x=getCurrentPage().getByXPath("//div[@class = 'notification']
                                       /text() =
                                      'Product saved successfully'").get(0);

返回Boolean false个对象,但是这个

Object y = getCurrentPage().getByXPath("//div[@class='notification']
                                         /text()").get(0);

返回带有数据DomText的对象Product saved successfully

为什么布尔值false?在我看来它应该返回true

P.S。当我在XPathBrowser(FF插件)中尝试相同的查询时,它返回boolean:true

非常感谢

2 个答案:

答案 0 :(得分:4)

使用:

//div[@class='notification']/text()[ . = 'Product saved successfully']

因为集合 //div[@class='notification']/text()永远不会等于字符串'产品已成功保存'。

亚历杭德罗& LarsH指出(他们都是对的),这个答案是完全错误的。关键不在于//div[@class = 'notification']/text() = 'Product saved successfully'不起作用,只是.get(0)对第一个选项返回的布尔值没有意义(它只是表示true,如'节点存在')

答案 1 :(得分:1)

您的第一个xpath正在执行布尔操作,而第二个xpath正在请求来自DOM的文本。

编辑:这是对最初问题的回复(见修订),而不是目前的问题(已经改变)。