• 21-03-2021, 16:30:44
    #1
    Bu işlemde tek tek sayfaları dolaşıp bakiye bilgisi alıp console loga alt alta yazdırabiliyorum. For işlemi bitince toplam bakiyeyi consoleye yazdırmak istiyorum bir türlü beceremedim kafam karma karışık oldu

    for (i = 0; i < items.length; i++) {
      let usdBalance = await page.evaluate(() => document.getElementById("smsbakiyeTL").getAttribute("bakiye"));
      var ReplacedAmount = usdBalance.replace(/\$/g,'');
      console.log(ReplacedAmount);
    }
  • 21-03-2021, 16:36:24
    #2
    Üyeliği durduruldu
    kapsam sorunu yaşıyorsun. {} bu iki parantez içinde tanımlanan bu iki parantez içinde kalır.
    let usdBalance ;
    for (i = 0; i < items.length; i++) {
    usdBalance = await page.evaluate(() => document.getElementById("smsbakiyeTL").getAttribut e("bakiye"));
    var ReplacedAmount = usdBalance.replace(/$/g,'');
    console.log(ReplacedAmount);
    }
    kodun böyle olmalı. +rep
  • 21-03-2021, 16:37:03
    #3
    let sum = 0
    for (i = 0; i < items.length; i++) {
    usdBalance = await page.evaluate(() => document.getElementById("smsbakiyeTL").getAttribut e("bakiye"));
    var ReplacedAmount = usdBalance.replace(/$/g,'');
    sum += parseInt(ReplacedAmount);
    }
    console.log(sum)
    ek olarak puppeteer kullanıyorsanız boşa sistemi yoruyorsunuz. got/jsdom kullanarak daha hızlı bir sekilde verileri çekebilirsiniz.
  • 21-03-2021, 16:37:12
    #4
    for (i = 0; i < items.length; i++) {

    let usdBalance = await page.evaluate(() => document.getElementById("smsbakiyeTL").getAttribut e("bakiye"));

    var ReplacedAmount =+ usdBalance.replace(/$/g,'');



    }

    console.log(ReplacedAmount);
  • 21-03-2021, 16:44:15
    #5
    @byjameson; Teşekkürler hocam.
    @tolgaand; Teşekkürler hocam bu şekilde oldu. Evet puppeter kullanıyorum ve yoruyor cihazı ve yavaş. Peki got/jsdom puppeteer gibi sayfada işlem yaptırabiliyor mu ve request vs attırabiliyor muyuz onda. Kullanımı vs aynı ise ona geçerim.
    @gander; teşekkürler hocam
  • 21-03-2021, 16:44:28
    #6
    Değişkeni döngü dışında tanımlayıp, döngüde değiştirirsen çalışır. Süslü parantez içindekiler süslü parantez içerisinde kalır.
  • 21-03-2021, 16:49:23
    #7
    phpxtr adlı üyeden alıntı: mesajı görüntüle
    @tolgaand; Teşekkürler hocam bu şekilde oldu. Evet puppeter kullanıyorum ve yoruyor cihazı ve yavaş. Peki got/jsdom puppeteer gibi sayfada işlem yaptırabiliyor mu ve request vs attırabiliyor muyuz onda. Kullanımı vs aynı ise ona geçerim.
    Evet istediğiniz gibi müdahale edebiliyorsunuz DOM'a.
    Fakat alacağınız bir kaç property siteye göre değişkenlik göstermekte(bkz: runScripts)
    got yerine daha farklı siteye request attığınızda body'i çekebileceğiniz bir kütüphane kullanabilirsiniz.(bkz: axios, node-fetch)
    çektiğiniz body'i text olarak geldiği için jsdom kütüphanesiyle'de html elemanlarına dönüştürüyorsunuz.