In Selenium 2.0, I have no idea how to traverse through a HTML table in a webpage. In selenium2.0 javadoc, I found two classes "TableFinder" and "TableCellFinder", but I couldn't find any examples.
I want to do something like this:
RowCount=Get how many rows are there in the html table for each row of the table { column_count=Get column count for each column { cell_value=get_text_from(row,col); Do something with cell_value } }
How can I get the text from each of the table cells?
List<WebElement> tables = driver. findElements(By. tagName("table"));
Thanks for the earlier reply.
I figured out the solutions using selenium 2.0 classes.
import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.ie.InternetExplorerDriver; public class WebTableExample { public static void main(String[] args) { WebDriver driver = new InternetExplorerDriver(); driver.get("http://localhost/test/test.html"); WebElement table_element = driver.findElement(By.id("testTable")); List<WebElement> tr_collection=table_element.findElements(By.xpath("id('testTable')/tbody/tr")); System.out.println("NUMBER OF ROWS IN THIS TABLE = "+tr_collection.size()); int row_num,col_num; row_num=1; for(WebElement trElement : tr_collection) { List<WebElement> td_collection=trElement.findElements(By.xpath("td")); System.out.println("NUMBER OF COLUMNS="+td_collection.size()); col_num=1; for(WebElement tdElement : td_collection) { System.out.println("row # "+row_num+", col # "+col_num+ "text="+tdElement.getText()); col_num++; } row_num++; } } }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With