Проблемка с кодом элемента



  • Решил написать небольшой скрипт, и увидел небольшую проблемку.
    Сайт https://instagram.com

    Нужно спарсить изображения, опускаюсь в самый низ, и хочу получить код элемента фотографии
    bablosoft#1.png

    Обратите внимание какой селектор нашел бас.

    CSS> :nth-child(10) > :nth-child(2) > a > :nth-child(1) > :nth-child(2)

    Дальше я поднимаю страницу немного вверх, чтобы было видно следующие три фотографии, и получаю код элемента той же фотографии.
    bablosoft#2.png

    Сейчас бас нашел мне этот элемент через такой селектор:

    CSS> :nth-child(11) > :nth-child(2) > a > :nth-child(1) > :nth-child(2)

    Как же так получается, что один и тот же элемент при скролле имеет разные селекторы?



  • @Gena-2k said in Проблемка с кодом элемента:

    Обратите внимание какой селектор нашел бас.

    Автоматически сгенерированные селектора не являются особо надёжными, желательно составлять селектора самостоятельно, например используя xpath

    Как же так получается, что один и тот же элемент при скролле имеет разные селекторы?

    На сколько я помню инста для экономии ресурсов вашего пк удаляет элементы, которые не отображаются в данный момент и дорисовываются когда вы скролите.



  • @Fox

    Причем знаешь, если с самого начала страницы смотреть, они идут правильно 1 2 3, но как только доходят до 10, начинается эта проблема



  • @Gena-2k said in Проблемка с кодом элемента:

    @Fox

    Причем знаешь, если с самого начала страницы смотреть, они идут правильно 1 2 3, но как только доходят до 10, начинается эта проблема

    Возможно эти данные подгружаются ajax-запросом при прокрутке, а селекторы BAS формируются по порядку элементов на странице. То есть новые элементы страницы будут иметь другой автоматически созданный селектор


Log in to reply