0
下面的代碼工作,除了我不想打印出解決的結果,我想能夠以JSON格式構造它們。 我認爲這一點,我需要等待所有的承諾得到解決,但我不知道如何!硒webdriver - 解決多個承諾
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);
});
}
});
因此,我列出了一個列表。然後我想在列表中的每個元素內找到多個元素。但我不知道如何等待所有的承諾才能解決,以使我最終的JSON數組。
等待所有承諾....使用...'Promise.all' –
@JaromandaX,感謝,但它仍然失敗隨機..我不知道如何處理' Promise.all'在循環內 –
或者可能是因爲項目的動態重新排序:'UnhandledPromiseRejectionWarning:未處理的承諾拒絕(拒絕ID:1):StaleElementReferenceError:陳舊的元素引用:元素未附加到頁面文檔' –