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);
} Javascript ile For içinde toplama işlemi sorunu
6
●71
- 21-03-2021, 16:30:44Bu 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
- 21-03-2021, 16:36:24Üyeliği durduruldukapsam 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
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:44:15
- 21-03-2021, 16:49:23Evet istediğiniz gibi müdahale edebiliyorsunuz DOM'a.phpxtr adlı üyeden alıntı: mesajı görüntüle
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.

