Поиск по динамически подгружаемой странице

Поддержка
  • Добрый день. Есть сайт pinterest, делаю на нем поиск - подгружается страница с результатами, потом в цикле делаю 5 прокручиваний вниз, чтобы загрузилось больше элементов. И визуально видно, что их подгружается много но когда делаю итерацию по нужным элементам или GetElementsCount с необходимым мне селектором то выбирается намного меньше элементов чем есть. Такое ощущение, что вы выборку попадают только те элементы которые непосредственно отображены в видимой области браузера. Может такое быть?

  • @traffic-coon said in Поиск по динамически подгружаемой странице:

    Добрый день. Есть сайт pinterest, делаю на нем поиск - подгружается страница с результатами, потом в цикле делаю 5 прокручиваний вниз, чтобы загрузилось больше элементов. И визуально видно, что их подгружается много но когда делаю итерацию по нужным элементам или GetElementsCount с необходимым мне селектором то выбирается намного меньше элементов чем есть. Такое ощущение, что вы выборку попадают только те элементы которые непосредственно отображены в видимой области браузера. Может такое быть?

    Это называется виртуальный скрол, всё что находится вне видимого экрана уничтожается, что бы не нагружать браузер

  • @Fox Благодарствую. Это я уже отследил, что в DOM-е действиетльно содержится только то количество объектов которое примерно отображается на экране. Подскажите как поступить. Делать Scroll до конца страницы не вариант, когда вызываю этот метод то BAS все листает и листает, а пинтерест восе подкидывает и подкидывает пины, ждал не долго но за 10-15 секунд уже понятно, что оно либо в дедлуп вподет либо пролистнет бОльшую часть из того, что мне надо.

    Вариант который придумал я это делать поиск, считывать элементы, делать скролл на высоту scrollView браузера ( не знаю как эта опция называется в BAS и не могу найти ) либо скролл на высоту браузера ( тоже не знаю как получить это значение внутри скрипта ). И так делать несколько итераций, пока не перестанут подгружаться уникальные данные.

    Подскажите, как получить высоту браузера и можно ли вообще в BAS писать на чистом JavaScript с отладчиком? очень уж не интуитивный для меня визуальный редактор скриптов и думать в его паттернах очень трудно получается, гораздо проще закодить работу с DOM на JavaScript или C# или еще чем то...

  • @traffic-coon said in Поиск по динамически подгружаемой странице:

    @Fox Благодарствую. Это я уже отследил, что в DOM-е действиетльно содержится только то количество объектов которое примерно отображается на экране. Подскажите как поступить. Делать Scroll до конца страницы не вариант, когда вызываю этот метод то BAS все листает и листает, а пинтерест восе подкидывает и подкидывает пины, ждал не долго но за 10-15 секунд уже понятно, что оно либо в дедлуп вподет либо пролистнет бОльшую часть из того, что мне надо.

    Вариант который придумал я это делать поиск, считывать элементы, делать скролл на высоту scrollView браузера ( не знаю как эта опция называется в BAS и не могу найти ) либо скролл на высоту браузера ( тоже не знаю как получить это значение внутри скрипта ). И так делать несколько итераций, пока не перестанут подгружаться уникальные данные.

    Попробуйте удалять элементы со страницы после парсинга, есть вероятность, что сайт будет помещать новые элементы в видимую зону автоматически.

    Подскажите, как получить высоту браузера и можно ли вообще в BAS писать на чистом JavaScript с отладчиком? очень уж не интуитивный для меня визуальный редактор скриптов и думать в его паттернах очень трудно получается, гораздо проще закодить работу с DOM на JavaScript или C# или еще чем то...

    Да, можно, действие "Яваскрипт" в модуле "Браузер"