How do I retrieve the text in a table column using Selenium RC?

17,142

Solution 1

String value1 = selenium.getText("//tr[1]/td[1]/strong[contains(text(), Label1:')]/../../td[2]");

Solution 2

it would be

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

and so on.

The help text for getTable is

getTable(tableCellAddress) Arguments:

  • tableCellAddress - a cell address, e.g. "foo.1.4"

    Returns: the text from the specified cell

    Gets the text from a cell of a table. The cellAddress syntax tableLocator.row.column, where row and column start at 0.

Solution 3

Check this,

            int i =1;

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

Result will contain all the values listed.Hope it helps!!!

Share:
17,142
HtmlTableGuru
Author by

HtmlTableGuru

Updated on June 14, 2022

Comments

  • HtmlTableGuru
    HtmlTableGuru almost 2 years

    I have a table that looks like the following:

    <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>
    

    How can I use Selenium RC to retrieve Value1a, Value1b, and Value1c ? Can I use selenium.getText(...) or storeText(...)? If so, what is the proper xpath I should use? Please assume that the table cannot be changed. Thanks!