@webwiz4rd смотри в сетевых запросах
334867b0-9039-45c2-947d-e574257eddbe-image.png
Скрипт скроллинга на яндекс картах
-
Кто парсил яндекс карты? Подскажите, как в браузере эмулируете скролл вниз именно в той части экрана где элементы выдачи (блок слева)? Скрипт ниже вытворяет что то странное, поднимая саму страницу вверх (а внизу - пустое пространство)
let elements = document.querySelectorAll('.search-snippet-view'); if (elements.length > 0) { let lastElement = elements[elements.length - 1]; lastElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); setTimeout(() => { window.scrollBy(0, 200); }, 500); // Wait for the initial scroll to complete before scrolling down 100px } })();
-
Вопрос, вы движок в авто тоже через выхлопную трубу ремонтируете ?
Зачем усложнять самому себе жизнь ?Включаем логику, простую думалку.
Скролить нам надо что ? Элементы, до какого времени ? Пока они не закончатся.Ну так и скролите, берем ЦИКЛ, можете даже с рандомным наведением и нажатиями поиграться. И закончится этот самый цикл именно в том месте где будет последний элемент...
-
Возможно, я не полно объяснил вопрос. Хочу понять, как скроллить без странного эффекта с пустым пространством:
Скрипт ниже вытворяет что то странное, поднимая саму страницу вверх (а внизу - пустое пространство)
В целом, я нашел рабочий скрипт:
let elements = document.querySelectorAll('.search-snippet-view'); if (elements.length > 0) { let lastElement = elements[elements.length - 1]; lastElement.scrollIntoView({ behavior: 'smooth', block: 'center' }); setTimeout(() => { // Get the position of the last element const lastElementRect = lastElement.getBoundingClientRect(); const viewportHeight = window.innerHeight || document.documentElement.clientHeight; // Check if the last element is fully within the viewport if (lastElementRect.bottom <= viewportHeight) { // If the last element is fully in view, stop scrolling return; } // If the last element is not fully in view, scroll down window.scrollBy(0, 200); }, 500); // Wait for the initial scroll to complete before scrolling down 200px } })();