Как получить текст в столбце таблицы с помощью Selenium RC? - PullRequest
2 голосов
/ 27 февраля 2010

У меня есть таблица, которая выглядит следующим образом:

<table class="theClass">
<tr>
   <td class="anotherClass"><strong>Label1:</strong></td>
   <td colspan="3">Value1a<br/>Value1b<br/>Value1c</td>
</tr>

<tr>
   <td class="anotherClass"><strong>Label2:</strong></td>
   <td colspan="3">Value2a<br/>Value2b<br/>Value2c</td>
</tr>

<tr>
   <td class="anotherClass"><strong>Label3:</strong></td>
   <td colspan="3">Value3a<br/>Value3b<br/>Value3c</td>
</tr>
</table>

Как я могу использовать Selenium RC для извлечения Value1a, Value1b и Value1c? Могу ли я использовать selenium.getText (...) или storeText (...)? Если да, какой правильный xpath мне следует использовать? Пожалуйста, предположите, что таблица не может быть изменена. Спасибо!

Ответы [ 4 ]

6 голосов
/ 28 февраля 2010

это будет

string value1 = selenium.getTable("table.1.2");
string value2 = selenium.getTable("table.2.2");

и т. Д.

Текст справки для getTable:

getTable (tableCellAddress) Аргументы:

  • tableCellAddress - ячейка адрес, например "Foo.1.4"

    Возвращает: текст из указанной ячейки

    Получает текст из ячейки таблицы. Синтаксис cellAddress tableLocator.row.column, где строка и начало столбца в 0.

3 голосов
/ 20 декабря 2010

Проверьте это,

            int i =1;

       while(selenium.isElementPresent("//table/tbody/tr["+i+"]/td[2]")){
           System.out.println(selenium.getText("//table/tbody/tr["+i+"]/td[2]"));
           i++;
       }

Результат будет содержать все перечисленные значения. Надеюсь, это поможет !!!

0 голосов
/ 16 декабря 2010

selenium.gettable (XPath)

0 голосов
/ 27 февраля 2010
String value1 = selenium.getText("//tr[1]/td[1]/strong[contains(text(), Label1:')]/../../td[2]");
...