Я использую Selenium с Node.js я пытаюсь сделать следующийПреобразования массива обещаний findElements селена в массив объектов
var driver = *webdriver instance*;
var my_xpath = *an xpath string*;
var ele;
Q.all(driver.findElements(webdriver.By.xpath(my_xpath))).then(function(elements) {
for (ele in elements) {
console.log(ele.getText());
};
}
Я был под впечатлением, что Q.all
бы преобразовать массив обещания, возвращаемые driver.findElements
, в массив значений, так что когда я выхожу ele.getText()
, это будет значение. Однако в этом случае ele
по-прежнему является обещанием.
Что мне здесь не хватает?
Обратите внимание, что я понимаю, что для вышеприведенного примера это не нужно, и я могу просто использовать ele.getText().then
, но моя фактическая программа требует наличия всех значений перед продолжением.
Ok, поэтому я понимаю, почему это происходит сейчас, но не знаю, как это исправить. 'ele.getText()' возвращает обещание, хотя 'ele' является' WebElement'. Тем не менее, мне по-прежнему нужен массив всех фактических результатов, а не просто обещаний. – rwolst