Selenium: как найти div с конкретным содержанием? - PullRequest
7 голосов
/ 02 февраля 2010

Мне нужно найти <div> с определенным содержимым и click его из Selenium, вот так:

<tr>
  <td>clickAndWait</td>
  <td>//div[@class='gwt-Label' ***WITH CONTENT='Logout'***]</td>
  <td>5000</td>
</tr>

Есть ли способ сделать это? Я не хочу использовать абсолютный xpath.

Ответы [ 3 ]

8 голосов
/ 02 февраля 2010

Вы также можете использовать локаторы CSS:

<div class="gwt-Label">This FindMe DIV</div>

Может быть найдено с помощью:

css=.gwt-Label:contains('FindMe')
7 голосов
/ 02 февраля 2010

попробуйте это:

 //div[@class='gwt-Label' and contains(., 'Logout')]
1 голос
/ 09 февраля 2010

Возможно, ваш XPath просто не совсем делает то, что вы думаете. Возможно, вам понадобится использовать функцию string () для объединения всего текста в блоке.

Например, в TestPlan (используя Selenium в качестве бэкенда) вы должны сделать что-то вроде этого:

Click //div[@class='gwt-Label'][contains(string(),'Logout')]

Обратите внимание на использование строки ()

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