Получение текста из одного из столбцов из сетки - PullRequest
0 голосов
/ 03 июля 2019

У меня есть таблица с множеством столбцов, и я должен получить текст значений 1-го столбца. Структура таблицы сетки показана ниже

Существует класс для полной строки, а затем внутри этого класса, и каждая ячейка столбца имеет один и тот же класс

    <div row-index= 'row1'>
       <div col-id= 'datecolumn2' /div>
       <div col-id= Name1 /div>
       <div col-id= city1 /div>
    /div>

    <div row-index= 'row2'>
       <div col-id= datecolumn2 /div>
       <div col-id= Name2 /div>
       <div col-id= city2 /div>
    /div>

вот так примерно 1000 строк. Я должен пройти через каждую строку и получить текст только значений столбца даты

Ожидается: я должен получить текст класса столбца даты в массиве

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Если я правильно понимаю, вы хотите перебрать каждую строку и получить значение для datecolumn. Из вашего кода я вижу, что имя класса для строки и столбца показаны, поскольку они не совпадают с именем класса. Но я предполагаю, что они одинаковы. Было бы более полезно, если бы вы могли скопировать код из вашего источника. Во всяком случае, с минимальной информацией, у меня есть следующий код, который работает для чтения хотя dateColumn из каждой строки и выводит данные в этом столбце.

const datecolumns = element.all(by.css("div.row .datecolumn"));
 //If there is another child tag below datecolumn and the text is in that tag then you need to include that class in the above element finder 

            datecolumns.map(function (eachDateColumn, index) {
                eachDateColumn.getText().then(function (dateValue) {
                    console.log("Date value in column " + index + " is " + dateValue)
                })
            })

Более прямой путь:

const datecolumns = element.all(by.css("div.row .datecolumn")).getText();
0 голосов
/ 03 июля 2019

Это ровно 1000 строк?они начинаются с <div class = 'row1'> и заканчиваются <div class = 'row1000'>?
Если это так, то сам локатор элемента должен выглядеть так: element(by.css('.row1 .datecolumn2'));
Тогда, если вы просматриваете все строки, просто измените его следующим образом:это:

for (i= 1; i < rows.length; i++) {
    element(by.css('.row' + i + '.datecolumn2')).getText();
    // here you do whatever you need to do with the text
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...