我目前有两种方法:
getCell(lineItemRow, columnName) {
return this.getColumnIndexOfColumn(columnName)
.then(function(columnIndex) {
sleep(10000);
return new Element(`//div[@class='ember-view scrollableTableRow'][${lineItemRow}]//div[@class='scrollableTableCell '][${columnIndex}]`)}
);
}
getColumnIndexOfColumn(columnName) {
let b = this.browser;
return this.getColumnTitles()
.then(function(columnTitles) {
let titles = columnTitles.value.map(function(element) { return b.elementIdText(element.ELEMENT) });
Promise.all(titles)
.then(function (results) {
var formatted = results.map(function(title) {return title.value;});
return formatted.indexOf(columnName);
}).then(function (value) { console.log(value); return value; })
})
}
我遇到的问题是,当getCell调用this.getColumnIndexOfColumn(columnName)时,解析的值是未定义的,而不是正确的索引。我可以验证formatted.indexOf(columnName)调用返回正确的索引。如何使用formatted.indexOf(columnName)的值解析getColumnIndexOfColumn?
由于
答案 0 :(得分:0)
在Promise.all(标题)前面错过了一个返回,所以它没有返回回调结果。