From 1c0b6e4db1b015ba232e3f8dd650dc051c9b475b Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Wed, 14 Aug 2024 06:32:42 +0530 Subject: [PATCH] feat: scroll up to load more items --- maxun-core/src/browserSide/scraper.js | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/maxun-core/src/browserSide/scraper.js b/maxun-core/src/browserSide/scraper.js index d721caff..0ba8cbf8 100644 --- a/maxun-core/src/browserSide/scraper.js +++ b/maxun-core/src/browserSide/scraper.js @@ -145,6 +145,25 @@ async function scrollDownToLoadMore(selector, limit) { } } +async function scrollUpToLoadMore(selector, limit) { + let previousHeight = 0; + let itemsLoaded = 0; + + while (itemsLoaded < limit) { + window.scrollBy(0, -window.innerHeight); + await new Promise(resolve => setTimeout(resolve, 1000)); + + const currentHeight = document.body.scrollHeight; + + if (currentHeight === previousHeight) { + break; // No more items to load + } + + previousHeight = currentHeight; + itemsLoaded += document.querySelectorAll(selector).length; + } +} + /** * Returns a "scrape" result from the current page. * @returns {Array} *Curated* array of scraped information (with sparse rows removed)