Это способ получения значения каждой ячейки веб-таблицы с использованием селена с языком java
.
1.Инициализация таблицы
В вашем случае таблица имеет идентификатор tbr
, способ ее инициализации:
WebElement tbl = driver.findElement(By.id("tbr"));
2.Инициализация строки
Тег имени для строки веб-таблицы в общем случае tr
, способ его инициализации:
List<WebElement> rows = tbl.findElements(By.tagName("tr"));
3.Инициализация столбца
Тег имени для столбца веб-таблицы в общем случае: th
или td
, способ его инициализации:
th tag
List<WebElement> cols = rows.get(rowIndex).findElements(By.tagName("th"));
td tag
List<WebElement> cols = rows.get(rowIndex).findElements(By.tagName("td"));
Таким образом, вы можете получить конкретные значения ячеек:
String cell = cols.get(indexCol).getText();
Нижеследующий код является функцией для получения всей таблицы значений (без получения значения заголовка th
)
WebElement tbl = driver.findElement(By.id("tbr"));
//check all row, identification with 'tr' tag
List<WebElement> rows = tbl.findElements(By.tagName("tr"));
//row iteration
for(int i=0; i<rows.size(); i++) {
//check column each in row, identification with 'td' tag
List<WebElement> cols = rows.get(i).findElements(By.tagName("td"));
//column iteration
for(int j=0; j<cols.size(); j++) {
System.out.println(cols.get(j).getText());
}
//This is to get the cell value you want
////get col no 2
//System.out.println(cols.get(1).getText());
////get col no 8
//System.out.println(cols.get(7).getText());
}