xpath text () сравнение - PullRequest
       0

xpath text () сравнение

2 голосов
/ 04 ноября 2010

(новичок в веб-разработке) Привет, кто-нибудь может объяснить мне, почему этот

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 объект сdata Product saved successfully?

почему логическое значение false?мне кажется, он должен вернуть true.

ps, когда я пытаюсь выполнить тот же запрос в XPathBrowser (плагин FF), он возвращает boolean:true

большое спасибо

Ответы [ 2 ]

4 голосов
/ 04 ноября 2010

Использование:

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

Поскольку коллекция //div[@class='notification']/text() никогда не будет равна строка «Продукт успешно сохранен».

Как указали Алехандро и Ларш (и они оба правы), этот ответ был совершенно неверным.Дело не в том, что //div[@class = 'notification']/text() = 'Product saved successfully' не работает, просто в том, что .get(0) не имеет смысла для логического значения, возвращаемого первым параметром (он просто сообщает true, как в «этом узле существует»)

1 голос
/ 04 ноября 2010

Ваш первый xpath выполняет логическую операцию, а второй запрашивает текст из DOM.

РЕДАКТИРОВАТЬ: Это ответ на первоначальный вопрос (см. Редакции), а не вопрос в настоящее время (который изменился).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...