我想在量角器中执行以下操作(但使用打字稿):
let cellsTxt = await Promise.all(cells.map(cell => cell.getText()));
在这里,我想通过ElementArrayFinder获取每个元素的文本。
到目前为止,我想出了以下内容,它们很冗长,无法正常工作:
let cellsTxt: Array<string> = [];
let cellsTxtPromise: Array<promise.Promise<string>> = [];
cells.forEach((cell: ElementFinder, i:number) => {
cellsTxtPromise[i] = cell.getText();
})
cellsTxt = await Promise.all(cellsTxt);
我欢迎任何指向正确解决方案的指针。
谢谢!
编辑:这不是一个相关的问题;既然我遇到的问题是由另一段代码引起的。
答案 0 :(得分:1)
我认为有几种方法可以实现相同的目标:
1) let cellsTxt = await cells.getText(); // you can call getText() on ElementArrayFinder
2) let cellsTxt = await cells.map(cell => await cell.getText()));
3) let cellsTxt = await Promise.all(cells.map(cell => cell.getText()));
4) let tmp = [];
let cellsTxt = await cells.each(cell => tmp.push( await cell.getText() ))
.then(()=> return tmp;)