Возможно-ли (поиск элемента по номеру) ?



  • Никак не могу понять, как можно реализовать. Может быть есть идеи у кого. Через получить координату также не удается. Есть лента, при получения контента (постов) присваиваются уникальные div'ы (всегда разные). Суть такая:

    Появляется пост, он содержит:
    <общий div class = уникальный динамический мини-ключик>

    <div class=" уникальный динамический мини ключик 1>
    <div class=" уникальный динамический мини ключик 2>
    <div class=" уникальный динамический мини ключик 3>

    За вывод контента в посте (например фотографии в посте) отвечает div с уникальным динамическим мини ключиком 3

    Я пытаюсь привязать действие через java скрипт.

    получаю весь код страницы, потом его обрабатываю, и пытаюсь использовать эти динамические мини ключики в качестве отправной точки (div + мини ключик). Но, проблема в том, что каждый div никак не квалифицируется, то есть если я даже возьму все уникальные динамические ключи, как мне угадать какое их сочетание именно выводит например текст, или картинку?

    Может быть кто-то сталкивался, хотя бы в какую сторону мыслить ?)



  • XPath?



  • @ogurchiki XPath с лёгкостью справится с проблемой. Можно и по другому, кроме div class у каждого поста скорей всего есть ещё id. Или любой другой статичный параметр.

    А вообще лучше скинь часть кода страницы, чтобы проще было решать вопрос. Без сфирических коней в вакууме.



  • @Fox said in Возможно-ли ?:

    //Пример кода: 
    
     //Это общий класс для поста:
    <article class="_h2d1o _j5hrx _4xyiw _j64nz _asvtt"> 
    
       // Это шапка данного поста:
      <header class="_2ircu _s6yvg">..</header>
    
        // Это внутренности поста (изображение)
         <div class="_h5v2a">...</div>
           <div class="_rgrbt">...</div>
    
          // Это блок комментариев этого поста
        <div class="_3fmp4 _ljyfo"> ...</div>
    
    

    немножко сократил. А если через XPath то какую часть div'ов парсить <article class> ? Клик я хочу привязать к изображению



  • @ogurchiki, какой из дивов содержит нужное изображение?

    В общем, в зависимости от нужного дива, попробовать можно так:

    //article/div[1]/img/@src

    //article/div[2]/img/@src

    С полным кодом до нужной картинки было бы легче.



  • В личке разобрались :D .
    Если что, есть Новый мануал по селекторам.

    Сам только что узнал, что можно найти элемент по номеру, используя >AT> префикс.



  • огромная благодарность за помощь!



  • @Fox эээ, например match выдал мне 50 одинаковых элементов. и можно кликнуть по например 45-му добавив >AT>45?
    Еще мне совершенно непонятно, как совмещаются 2 >MATCH>



  • @Viktor Да, используешь префикс 45, в селекторе >MATCH>match1>AT>45
    Представь. что >MATCH> <div class нашёл тебе 10 значений на странице, а внутри них нужно выбрать те, у которых значение text="text". Если использовать просто >MATCH> text="text" , то он находит 23 значения. А использовав >MATCH> <div class >MATCH> text="text" найдёшь именно то что нужно.
    Это может помочь, когда dom дерево элементов динамическое.



  • @Viktor, @Fox, важный момент! При использовании AT счёт начинается с 0, а не с 1:
    https://wiki.bablosoft.com/doku.php?id=ru:how_to_search_for_element



  • @UA Это да.


Log in to reply