Помогите с xpath для перебора

Поддержка
  • @Fox //*[contains(@class,'MosiacAsset-module__thumb')]/@alt>AT>4 так стопается просто, ничего не показывает, да я и в хроме не могу порядковый номер указать, я вообще не понимаю как его указывать и причины почему он не срабатывает

  • @Zack9 said in Помогите с xpath:

    @Fox //*[contains(@class,'MosiacAsset-module__thumb')]/@alt>AT>4 так стопается просто, ничего не показывает, да я и в хроме не могу порядковый номер указать, я вообще не понимаю как его указывать и причины почему он не срабатывает

    Это селектор BAS, не надо его в xpath запихивать

  • @Fox я через запросы делаю, Xpath получить xml, без браузера

  • @Zack9 said in Помогите с xpath:

    @Fox я через запросы делаю, Xpath получить xml, без браузера

    7b951545-27ac-474a-bad5-0f537a756ce6-изображение.png

    а затем "foreach"

  • @Fox нет, я просто пример привёл. Я знаю что можно сразу все элементы получить, но для некоторых задач мне нужно в цикле по каждому элементу пройтись.
    9d42455a-9f93-4688-8ee1-b10bd70825ba-image.png вот в хроме по xpath 60 элементов показывает, как мне перебор по ним сделать, как правильно [5] вписать, я это никак понять не могу, если он показывает 60 элементов, значит по ним можно через xpath запросом как-то перебор сделать, но у меня не получается никак и я не могу понять почему и где ошибка, что //*[contains(@class,'MosiacAsset-module__thumb')]/@src[5] не срабатывает

  • @Zack9 said in Помогите с xpath:

    @Fox нет, я просто пример привёл. Я знаю что можно сразу все элементы получить, но для некоторых задач мне нужно в цикле по каждому элементу пройтись.
    вот в хроме по xpath 60 элементов показывает, как мне перебор по ним сделать, как правильно [5] вписать, я это никак понять не могу, если он показывает 60 элементов, значит по ним можно через xpath запросом как-то перебор сделать, но у меня не получается никак

    Для этого вам нужно изменить xpath запрос. Можно конечно попробовать использовать функцию position(), но я не уверен, что она сработает в xpath BAS

    (//*[contains(@class,'MosiacAsset-module__thumb')]/@src)[position() = 1]
    
  • @Zack9, //div[contains(@class,'MosiacAsset-module__gallery')][5]/article/a/figure/img/@src

  • @Fox @GhostZ да спасибо, так срабатывает

    @GhostZ единственное предложение для модуля Цикл, CYCLE_INDEX всегда с нуля начинается, вот с xpath например когда цакл индекс вставляешь, то 0 элемент он не находит и ошибка получается, нужно доп логику прописывать там увеличивать или пропускать. Добавь плиз в модуль также возможность своё значение для начала отчёта устанавливать, чтобы CYCLE_INDEX можно было сразу с 1 начинать

  • @Zack9, для этого есть For цикл

  • @GhostZ а ок, да он пойдет. Тогда спасибо всё работает

  • 0 Votes
    4 Posts
    612 Views
  • 0 Votes
    7 Posts
    714 Views
  • 0 Votes
    14 Posts
    1390 Views
  • 0 Votes
    4 Posts
    1145 Views
  • 0 Votes
    5 Posts
    660 Views