Çözüldü Puppeteer ile açık olan Chromium sekmesindeki sayfada yazı bulma

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.

561400

Centipat
Katılım
7 Temmuz 2022
Mesajlar
390
Çözümler
5
Merhaba puppeteer da halihazırda çalışan projem var en son olarak ekranda açık olan Chromium penceresinde sekmede açık olan sayfada kelime aratmasını istiyorum ama belirli bir linki değil açık olan sayfayı. Birden fazla kelime aratacak herhangi birbiri varsa ture.txt içine "kelimelerden biri bulundu" yok ise false.txt içine "kelimelerden herhangi biri bulunamadı" gibi bir cümle yazdırması gerekiyor ve her seferinde alt alta bu işlemi her açılışta yapacak nasıl yapabilirim?
 
Çözüm
Evet aynen öyle ama her seferinde alt alta var.txt var var gibi yoksa yok.txt yok yok gibi alt alta yazdırsın.
Fonksiyonu güncelledim.
JavaScript:
async function searchPage(page, pattern = [], trueFilePath, falseFilePath) {
  const content = await page.content();
  let result = false;
  for (let i = 0; i < pattern.length; i++) {
    if (content.replace(/\s/g, "").includes(pattern[i])) {
      result = true;
      break;
    }
  }
  const filePath = result ? trueFilePath : falseFilePath;
  const text = result ? "Bulundu \r\n" : "Bulunamadı \r\n";
  if (!fs.existsSync(filePath)) {
    fs.writeFileSync(filePath, text);
  } else {
    fs.open(filePath, "a", 666, function (e, id) {
      fs.write(id, text, null, "utf8", function () {
        fs.close(id);
      });
    });
  }
}

Kullanmak için son parametre olarak. Bulunamadı yazmasını istediğiniz dosyanın ismini giriyorsunuz.
await searchPage(page, kelimeler, "Var.txt", "Yok.txt");
Reis alt alta yazdırmayı nasıl yaparım sürekli alta yazdırsın tekrar tekrar.
JavaScript:
async function compareURL(page, url) {
  const currentURL = await page.evaluate(() => document.location.href);
  if (currentURL === url) {
    if (!fs.existsSync("LinkYok.txt")) {
      fs.writeFileSync(
        "LinkYok.txt",
        `Sayfa URL'si aynı: ${currentURL} ve ${url} \r\n`
      );
    } else {
      fs.open("LinkYok.txt", "a", 666, function (e, id) {
        fs.write(
          id,
          `Sayfa URL'si aynı: ${currentURL} ve ${url} \r\n`,
          null,
          "utf8",
          function () {
            fs.close(id);
          }
        );
      });
    }
  } else {
    if (!fs.existsSync("LinkVar.txt")) {
      fs.writeFileSync(
        "LinkVar.txt",
        `Sayfa farklı URL'de. Güncel URL: ${currentURL} \r\n`
      );
    } else {
      fs.open("LinkVar.txt", "a", 666, function (e, id) {
        fs.write(
          id,
          `Sayfa farklı URL'de. Güncel URL: ${currentURL} \r\n`,
          null,
          "utf8",
          function () {
            fs.close(id);
          }
        );
      });
    }
  }
}
Çok optimize olmadı ama çalışması gerek.
 

Technopat Haberler

Yeni konular

Geri
Yukarı