kkr
kkr

Reputation: 33

Selenium - How to count the number of rows in a table?

I have a table with "n" number of rows. I need to count them, how to do?

Example:- My table looks like the below entry.

Type        Balance Date received       Date returned   Payment method  Amount
General     Default 10/01/2013 08:53:20                 Cash            $ 10.00

HTML of my table looks like this. <th> is table title row and <td> are the entries done by the user. Everytime the user add the new entry, the count will increase and display a message "3 found for account 6478 ". where 3 is no of rows in the table.   
<fieldset>
<table id="listBalances" class="listTable" width="100%">
<thead>
<tr>
<th>Type</th>
<th>Balance</th>
<th>Date received</th>
<th>Date returned</th>
<th>Payment method</th>
<th>Amount</th>
</tr>
</thead>
<tbody>
<tr>
<tr class="alt">
<td>General Deposit</td>
<td>Default for RTB</td>
<td>09/30/2013 06:58:41</td>
<td/>
<td>Cash</td>
<td>$ 5.00</td>

Upvotes: 3

Views: 8868

Answers (2)

Rohit Ware
Rohit Ware

Reputation: 2002

To store Number of rows into table you can use storeXpathCount

storeXpathCount | id=listBalances | NumberOfRows
echo  | ${NumberOfRows}

storeXpathCount will store rows count into variable NumberOfRows And echo will return count.

Upvotes: 1

eugene.polschikov
eugene.polschikov

Reputation: 7339

I would suggest the following:

1) make list of elements of your table (e.g if you need to count your row count then select any row using appropriate selector).

2) then create list of web elements

List<WebElement> columnElments = driver.findElements(By.cssSelector("...blablabla..."));
int rowNumer = columnElmments.size();

or either:

@FindBy
            (how = How.CSS, using = "blablablba")
List<WebElement> col;

int rowNumer =col.size();

Hope you got the idea

Upvotes: -3

Related Questions