Javascript Selenium webdriver-解决多个承诺

Javascript Selenium webdriver-解决多个承诺,javascript,node.js,selenium,selenium-webdriver,promise,Javascript,Node.js,Selenium,Selenium Webdriver,Promise,下面的代码可以工作,除了我不想在解析结果时打印出来之外,我希望能够以JSON格式对它们进行结构化。 我想,我需要等待所有的承诺得到解决,但我不知道如何解决 var webdriver = require('selenium-webdriver'), By = webdriver.By, until = webdriver.until; var driver = new webdriver.Builder() .forBrowser('chrome')

下面的代码可以工作,除了我不想在解析结果时打印出来之外,我希望能够以JSON格式对它们进行结构化。 我想,我需要等待所有的承诺得到解决,但我不知道如何解决

var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;

    var driver = new webdriver.Builder()
        .forBrowser('chrome')
        .build();

    driver.get('www.example.com');
    driver.sleep(2000);

    driver.findElements(By.css('.listing')).then(function(resWraps){
        for (var i=0; i<resWraps.length; i++) {
            resWraps[i].findElement(By.css('.title a')).getAttribute("innerHTML").then(function(title){
                console.log(title);
            });
            resWraps[i].findElement(By.css('.price')).getAttribute("innerHTML").then(function(price){
                console.log(price);
            });    
        }
    });
var webdriver=require('selenium-webdriver'),
By=webdriver.By,
until=webdriver.until;
var driver=new webdriver.Builder()
.forBrowser('chrome')
.build();
get('www.example.com');
《驾驶员睡眠》(2000年);
driver.findElements(By.css('.listing')).then(function(resWraps){

for(var i=0;iPromise.all解析数组,因此需要将元素推送到数组,然后将其传递给Promise.all函数。类似于:

const promiseArray = []
for (var i=0; i<resWraps.length; i++) {
   promiseArray.push(resWraps[i].findElement(By.css('.title a')).getAttribute("innerHTML"));
}

return Promise.all(promiseArray)
   .then(resolvedList){
 // do something with resolvedList
}
const promiseArray=[]

对于(var i=0;it等待所有承诺….使用…
Promise.all
@JaromandaX,谢谢,但它仍然随机失败..我不确定如何处理
Promise.all
在循环中,或者可能是因为项目的动态重新排序:
未处理Promisejection警告:未处理的承诺拒绝(拒绝id:1):staleElement引用错误:stale元素引用:元素未附加到页面文档