Как читать значения ячеек в таблице с помощью селена webdriver - PullRequest
0 голосов
/ 18 сентября 2018

[Ниже приведен HTML-код.На самом деле я не могу понять, как на самом деле объяснить условие, что веб-таблица имеет два идентификатора таблицы, tbl и tbr, и таблица имеет в общей сложности 4 строки. Первый столбец находится под таблицей id = tbl, а остальные столбцы Rev и Qty идругие под таблицей id = tbr. Я пытаюсь проверить, существуют ли значения col или нет, рассматривая каждую строку, например, col1 под таблицей id = tbl - это название детали, а col2 и col3 под таблицей id = tbr - пересмотр части и количество детали.Я хочу проверить, существует ли деталь с указанными ревизией и количеством. Мой вопрос сейчас ясен?

<form autocomplete="off" onsubmit="return false;" name="tvcTableForm">
    <input type="hidden" value="tvc-0000000000000002" name="object">
    <input type="hidden" value="35004.36845.30464.63080" name="parentOID">
    <div id="th">
    <div id="tb">
    <div id="tblc" style="top: 32px; height: 112px;">
    <table id="tbl" class="contentTable" cellspacing="0" cellpadding="0" style="border: 0px none; width: 199px; height: 144px; table-layout: fixed;">
    <tbody>
    </table>
    </div>
    <div id="tbrc" style="top: 32px; left: 199px; width: 1106px; height: 112px; overflow: auto;">
    <table id="tbr" class="contentTable" cellspacing="0" cellpadding="0" style="border: 0px none; width: 1089px; height: 144px; table-layout: fixed;">
    <tbody>
    <tr id="r573378134017" class="even" oncontextmenu="return ctxm(event)" style="height: 36px;">

1 Ответ

0 голосов
/ 19 сентября 2018

Это способ получения значения каждой ячейки веб-таблицы с использованием селена с языком 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());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...