我想在量角器中执行以下操作(但使用打字稿(:
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);
我欢迎任何指向正确解决方案的指针。
谢谢!
编辑:这不是一个相关的问题;因为我面临的问题是由另一段代码引起的。
我认为有几种方法可以存档相同的目标:
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;)