Как получить несколько дочерних элементов каждого родительского класса от нескольких родителей в селене? - PullRequest
0 голосов
/ 30 марта 2020

Я хочу получить текст каждого дочернего элемента от каждого родительского элемента. Как я могу достичь этого в селене javascript

let driver= new Builder().forBrowser('chrome').build();
let searchResult = await (driver.findElements(By.css('.parent')));

for (let e of searchResult) {
//Here I want to get children elements of each parent class
    let title = (await e.getText());
    let body= (await e.getText());
    let footer= (await e.getText());
}

Ниже приведен образец html

 <div class= "parent 1">
                <div class="title">title1</div>
                <div class="body">body1</div>
                <div class="footer">foter1</div>
            </div>
 <div class= "parent 2">
                <div class="title">title2</div>
                <div class="body">body2</div>
                <div class="footer">foter2</div>
  </div>
 <div class= "parent 3">
                <div class="title">title3</div>
                <div class="body">body3</div>
                <div class="footer">foter3</div>
</div>

1 Ответ

0 голосов
/ 30 марта 2020

Вы можете напрямую получить каждый элемент по его классу:

for (let e of searchResult) {
    e.findElement(By.css('.title'))
       .then(t => async{
           title = await t.getText();
       }); 
    ...
}

Или вы можете получить все его дочерние элементы с помощью подстановочного знака *:

    e.findElements(By.css('*'))
       .then(children =>{
           ..
       }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...