Невозможно записать текст столбцов в таблицу (транспортир) - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть таблица xpath, подобная этой

enter image description here

 element(by.xpath('(//div[@class='sprk-b-TableContainer'])[3]//tbody'));

Я написал функцию, которая берет webelement и регистрирует текст столбцов

public logTableData(table: ElementFinder) {

        table.$$('tr').filter(function (row): any {
            row.$$('td').filter(function (column): any {
                console.log(column.getText());
            });
        });
    }

Я не знаю, что я здесь упустил, это не работает, так как я новичок в транспортире, может кто-нибудь помочь мне, что не так с моей функцией.

Ответы [ 2 ]

0 голосов
/ 20 февраля 2019

Я попытался, как показано ниже, это исправило мою проблему

 public logTableData(table: ElementFinder) {
        const rows = table.$$('tr');
        rows.each((row) => {
            const cells = row.$$('td');
            cells.each((cell) => {
                cell.getText().then((cellText) => {
                    console.log('Failure Reason :: ' + cellText);
                });
            });
        });
    }
0 голосов
/ 19 февраля 2019

getText() асинхронный, но вы на самом деле не ожидаете возврата результата.

Измените его так, чтобы вы ожидали текст перед регистрацией:

column.getText().then(function(text) {
    console.log(text);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...