Çö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");
bende olmadı belki benimsayfada sorun vardır boşverin. işlemleri yaptıktan sonra son olarak site belirli bi sayfaya yönlendiriyor o linke gitmişmi gitmemişmi diye baktıramazmıyız ?
 
bende olmadı belki benimsayfada sorun vardır boşverin. işlemleri yaptıktan sonra son olarak site belirli bi sayfaya yönlendiriyor o linke gitmişmi gitmemişmi diye baktıramazmıyız ?
Bakabiliriz tabiki.
JavaScript:
const sayfaURL = await page.evaluate(() => document.location.href);
console.log(sayfaURL);
 
Evet txt ye yazdırmak istiyorum kaydettirmek sayfada kellime aratma sisteminde yazdırıyorya aynı şekilde.
JavaScript:
const kelimeler = ["<title>Technopat Sosyal</title>"];
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto("https://www.technopat.net/sosyal/", {
    waitUntil: "domcontentloaded",
  });

  //Bu alanda sayfayla alakalı işlemleri yapabilirsiniz.
  //Daha sonra mevcut sayfayı searchPage fonksiyonuna vererek arattırıyoruz.

  const currentURL = await page.evaluate(() => document.location.href);
  fs.writeFileSync("URL.txt", `Sayfa URL: ${currentURL}`);
  await searchPage(page, kelimeler, "Var.txt", "Yok.txt");
  await browser.close();
})();
 
hocam önceden girdiğim linke girilirse girildi diye yazdırsın oraya belirdiğim eğer belirtiğim linke girerse var txt ye girildi yazsın girmesse yok txt e yazsın
 
hocam önceden girdiğim linke girilirse girildi diye yazdırsın oraya belirdiğim eğer belirtiğim linke girerse var txt ye girildi yazsın girmesse yok txt e yazsın
Hocam onu ne yapacaksınız ki? Bu arada biraz daha detay verir misiniz tam anlayamadım. Yukarda attığım kod zaten bir dosyaya bunu yazdırıyor. Dilerseniz o kodu birkaç yere daha ekleyerek kendiniz kontrol edebilirsiniz işlemlerin arasında.
 

Technopat Haberler

Yeni konular

Geri
Yukarı