Найти все элементы в родительском блоке

Поддержка
  • Здравствуйте. Интересует вопрос как найти все элементы внутри элемента родителя? У меня есть родительские элементы, которые представляют из себя выпадающий список. Мне нужно открыть его и найти элементы, которые находятся в этом выпадающем списке. К примеру:
    Все выпадающие списки у меня по xpath выглядят //div[@class="title"], а все элементы в этих выпадающих списках как //div[@class="z9hnMt9VM9gLCl1bMYwJ"]. Заранее спасибо)

  • @suvorov_jr2 said in Найти все элементы в родительском блоке:

    Здравствуйте. Интересует вопрос как найти все элементы внутри элемента родителя? У меня есть родительские элементы, которые представляют из себя выпадающий список. Мне нужно открыть его и найти элементы, которые находятся в этом выпадающем списке. К примеру:
    Все выпадающие списки у меня по xpath выглядят //div[@class="title"], а все элементы в этих выпадающих списках как //div[@class="z9hnMt9VM9gLCl1bMYwJ"]. Заранее спасибо)

    Не знаю, будет ли работать в BAS, надо проверять:

    //div[@class="title"]/*
    //div[@class="title"]//*
    //div[@class="title"]//div
    
  • Проще если вы кусок кода предоставите - легче будет подсказать. А так поидее должно так работать:

    //div[@class="title"]/div
    

    @sergerdn у тебя ошибка в одном слеше, ищем то дочерний элемент первого уровня ...

  • @DuckDuck said in Найти все элементы в родительском блоке:

    @sergerdn у тебя ошибка в одном слеше, ищем то дочерний элемент первого уровня ...

    Нет ошибки, нигде не указано, что нужен первый уровень, а указано:

    @suvorov_jr2 said in Найти все элементы в родительском блоке:

    Интересует вопрос как найти все элементы внутри элемента родителя?

    Где ключевой слово - все.

  • @sergerdn спорить не буду, не видя кода, но вот такая конструкция не будет работать от слова - никогда

    //div[@class="title"]//div
    
  • @DuckDuck said in Найти все элементы в родительском блоке:

    @sergerdn спорить не буду, не видя кода, но вот такая конструкция не будет работать от слова - никогда

    //div[@class="title"]//div
    

    У меня работает и всегда работали подобные конструкции в Xpath. Код выполнял в консоли, открытой в браузере в этом топике.

    var xpathResult = document.evaluate('//div[@class="content mt-2 text-break"]//div', document, null, XPathResult.ANY_TYPE, null);
    var nodes = [];
    var node = xpathResult.iterateNext();
    
    while (node) {
      nodes.push(node);
      node = xpathResult.iterateNext();
    }
    
    console.log(nodes);
    

    Screenshot 2023-09-19 at 09.21.55.png

  • Как говорят в Одессе - две большие разницы:
    Screen Shot 2023-09-19 at 09.29.52.png

    Screen Shot 2023-09-19 at 09.30.08.png

  • @DuckDuck said in Найти все элементы в родительском блоке:

    Как говорят в одессе - две большие разницы:

    Я начинаю терять нить обсуждения.

    Код смыслом ничем не отличается друг от друга:

    //div[@class="content mt-2 text-break"]//div
    //div[@class="title"]//div
    

    И там и там ищутся все div с определенным классом и все его div child, как и хотел топикастер. На этой странице не было //div[@class="title"], я заменил на класс, который был.

  • @sergerdn В этом то и проблемка - одно дело найти дочернии элементы, другое - найти всех дочек и их правнучек...
    Читай внимательней тех задание, а то заказчик прифегеет ...

  • @DuckDuck said in Найти все элементы в родительском блоке:

    @sergerdn В этом и проблемка - одно дело найти дочернии элементы

    Наконец-то я тебя понял - да, мой код ищет все descendant, не child.

    Я перечитал еще раз задачу топикастера и не увидел указаний, что ему нужно именно child, скорее наоборот, увидел явные указания, что нужны именно descendant.

    @suvorov_jr2 said in Найти все элементы в родительском блоке:

    как найти все элементы внутри элемента родителя?

    Я слово все расценил как descendant

  • @sergerdn ну это выкрутасы, я тебя понял, но и хорошо, что ты понял в чем дело ;)

  • tor в BAS

    Поддержка
    0 Votes
    1 Posts
    353 Views
  • 0 Votes
    10 Posts
    893 Views
  • 0 Votes
    15 Posts
    1513 Views
  • 0 Votes
    2 Posts
    365 Views
  • 0 Votes
    1 Posts
    269 Views