Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   вывести дочерние элементы из промиса (https://javascript.ru/forum/misc/78888-vyvesti-dochernie-ehlementy-iz-promisa.html)

AlexBoo 18.11.2019 22:33

вывести дочерние элементы из промиса
 
Есть список, в нем нужно найти определенный элемент и и нажать на его дочерний элемент:

html:
<body> 
<div class="list>
 <div class="item">
 <div>
 <p> Item 1 </p> 
</div> 
<button class='btn'> 1 </button>
 <button class='btn'> 2 </button> 
</div> <div class="item">
 <div> 
<p> Item 2 </p> 
</div> 
<button class='btn'> 1 </button>
 <button class='btn'> 2 </button> 
</div> 
<div class="item"> 
<div> 
<p> Item 3 </p>
 </div> 
<button class='btn'> 1 </button> 
<button class='btn'> 2 </button> 
</div> 
<div class="item">
 <div> 
<p> Item 4 </p> 
</div> 
<button class='btn'> 1 </button> 
<button class='btn'> 2 </button>
 </div> 
</div>
 </body>

js:
let findButtons = await driver.findElements(By.className('item'));
 let buttons = findButtons.map(elem => elem.getText()); const allButtons = await Promise.all(buttons); 
// *** Find button *** 
let tButton; 
for (let i = 0; i < findButtons.length; i++) {
 if (allButtons[i] == `Item 3`) {

 tButton = await findButtons[i];
        console.log(tButton.children);   // должен вывести список дочерних элементов, но выводит underfined
        tButton.click();                 // нажимаем на элемент - действие срабатывает
        // здесь нужно нажать на button 2 элемента с содержимым `Item 3`
 } 
}


Часовой пояс GMT +3, время: 07:51.