• 19-11-2023, 23:31:22
    #1
    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.
  • 19-11-2023, 23:57:15
    #2
    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:21:03
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    lazyloader
  • 20-11-2023, 00:29:26
    #4
    Misafir adlı üyeden alıntı: mesajı görüntüle
    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
    zeyrek34 adlı üyeden alıntı: mesajı görüntüle
    lazyloader
    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.
  • 20-11-2023, 00:35:21
    #5
    Üyeliği durduruldu
    selenium/puppeteer ile mi işlem yapıyorsunuz?
  • 20-11-2023, 00:44:42
    #6
    vido adlı üyeden alıntı: mesajı görüntüle
    selenium/puppeteer ile mi işlem yapıyorsunuz?
    Hayır, node.js axios ile yapıyoruz.
  • 20-11-2023, 01:18:49
    #7
    Üyeliği durduruldu
    2 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.
  • 20-11-2023, 01:41:06
    #8
    Normal http request ile yapamazsınız. İstek attığı(infinity scroll için) yeri engellemiyorsa onu kullanabilirsiniz.