Merhaba,
Express server kullandığımız Chrome eklentimizde, açık olan bir sayfayı sürekli aşağı indirmek istiyoruz. (Eticaret sitelerinde sayfayı aşağı indirdikçe yeni verilerin göründüğü tarzda bir site var. Sürekli yeni veriler gelmesi için buna ihtiyacımız var)
Bunu JS ile nasıl sorunsuz çalışacak şekilde yapabiliriz?
Bu konuda ücretiyle yardımcı olabilecek kişiler https://wa.me/905324731234 'den bana ulaşırsa sevinirim. (R10 üyesi olmayanlar yazmasın.)
Edit: Arkadaşlar açık olan sayfayı aşağı çekmek istemiyorum bot ile bağlandığımız sayfayı aşağı çekmek istiyorum, headless tarayıcılar ile işlem yaptırmak istemiyoruz normal fetch vs. kütüphaneler ile istek atılan kütüphanelerle çalışmak istiyoruz.
JS ile sayfayı sürekli scroll aşağı çektirmek istiyoruz.
7
●182
- 19-11-2023, 23:57:15
function scrollToBottom() { // Sayfanın en altına kaydır window.scrollTo(0, document.body.scrollHeight); } // Belirli bir süre boyunca belirli aralıklarla scrollToBottom fonksiyonunu çağır var scrollInterval = setInterval(scrollToBottom, 1000); // 1000 milisaniye (1 saniye) aralıklarla kaydır - 20-11-2023, 00:29:26Misafir adlı üyeden alıntı: mesajı görüntüleEdit: Arkadaşlar açık olan sayfayı aşağı çekmek istemiyorum bot ile bağlandığımız sayfayı aşağı çekmek istiyorum, headless tarayıcılar ile işlem yaptırmak istemiyoruz normal fetch vs. kütüphaneler ile istek atılan kütüphanelerle çalışmak istiyoruz.zeyrek34 adlı üyeden alıntı: mesajı görüntüle
- 20-11-2023, 00:44:42Hayır, node.js axios ile yapıyoruz.vido adlı üyeden alıntı: mesajı görüntüle
- 20-11-2023, 01:18:49Üyeliği durduruldu2 aşama ile yapılabilir; content dom olduğunda data fetch etmek için request atılacak ve data sayfada render olacak sonrasında scroll sayfanın en altına gönderilecek. event listener ile scroll kontrol edilecek sayfa sonuna geldiğinde yeni dataları fetch etmek için request trigger edilecek. infinite scroll mantığıyla.
const fetchData = () => { axios.get('endpoint') .then(response => { // response'tan gelen dataları sayfaya ekleme işlemi // sayfaya ekleme tamamlandıktan sonra scroll aşağıya window.scrollTo(0, document.body.scrollHeight); }); }; const checkScroll = () => { if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) { fetchData(); } }; document.addEventListener('DOMContentLoaded', () => { // ilk data fetch fetchData(); // scroll event listener window.addEventListener('scroll', checkScroll); });chrome extension politikası gereği bu tarz işlemleri belki engelliyor olabilir. bu sebeple çalışmazsa request işlemlerine göre farklı bir yöntem olarak MutationObserver ile sayfadaki değişlikleri yakalayan bir observer yapısı kurarak scroll hareketini sağlayabilirsiniz.