Untitled

 avatar
unknown
plain_text
5 months ago
4.9 kB
3
Indexable
// Sayfa yenilendiğinde çalışacak kod
(async function deleteInstagramPosts() {
    const delay = (ms) => new Promise(resolve => setTimeout(resolve, ms));

    // Sayfa yenilemesini engellemek için gerekli önlem
    window.addEventListener('beforeunload', function(event) {
        event.preventDefault(); // Sayfa yenilmesini engeller
        event.returnValue = '';  // Tarayıcıyı uyarır
    });

    // Sayfa yenileme durumunu engellemek için interval kullanıyoruz
    let preventReload = false;

    const preventAutomaticReload = () => {
        if (preventReload) {
            return false; // Sayfa yenilemeyi durdurur
        }
        preventReload = true; // Yenileme durdurulacak
        return true;
    };

    // Her saniyede bir sayfa yenilemesini kontrol et
    setInterval(() => {
        if (preventReload) {
            // Eğer sayfa yenilenmesi engellendiyse, işlemi devam ettir
            console.log("Sayfa yenilenmesi engellendi.");
        } else {
            // Sayfa yeniden yüklendiyse, yenileme kontrolünü engelle
            preventReload = true;
            console.log("Sayfa yeniden yüklendi. Yenilenme engellendi.");
        }
    }, 100); // Her saniyede bir kontrol eder

    const clickFeedButton = async () => {
        let feedButton;
        // Feed butonuna tıklamadan önce birkaç kez dene
        for (let attempts = 0; attempts < 5; attempts++) {
            feedButton = document.querySelector('svg[aria-label="Feed"]');
            if (feedButton && feedButton.parentElement && feedButton.offsetParent !== null) {
                feedButton.parentElement.click();
                console.log("Feed butonuna başarıyla tıklandı.");
                await delay(100); // Sayfanın hızlıca yüklenmesini bekle
                return; // Başarılıysa döngüden çık
            }
            console.log(`Feed butonuna tıklanamadı, tekrar deniyorum (${attempts + 1}/5)...`);
            await delay(500); // Tekrar denemeden önce kısa süre bekle
        }
        console.error("Feed butonu tıklanamadı!");
        throw new Error("Feed butonu tıklanamadı.");
    };

    const deletePost = async () => {
        try {
            const moreOptionsButton = document.querySelector('svg[aria-label="More options"]');
            if (moreOptionsButton) {
                moreOptionsButton.parentElement.click();
                console.log("More options menüsü açıldı.");
                await delay(500); // Menü açılmasını bekle
            } else {
                console.log("More options butonu bulunamadı!");
                return;
            }

            const firstDeleteButton = document.querySelector('button._a9--._ap36._a9-_');
            if (firstDeleteButton && firstDeleteButton.innerText === "Delete") {
                firstDeleteButton.click();
                console.log("Silme seçeneği tıklandı.");
                await delay(3000); // Onay ekranını bekle
            } else {
                console.error("Sil butonu bulunamadı!");
                return;
            }

            const confirmDeleteButton = document.querySelector('button._a9--._ap36._a9-_');
            if (confirmDeleteButton && confirmDeleteButton.innerText === "Delete") {
                confirmDeleteButton.click();
                console.log("Silme işlemi onaylandı.");
                await delay(300); // Hızlıca işlemin tamamlanmasını bekle
            } else {
                console.error("Onaylama butonu bulunamadı!");
                return;
            }
        } catch (err) {
            console.error("Silme işlemi sırasında hata oluştu:", err);
        }
    };

    const getRandomDelay = () => {
        // 3 ila 5 saniye arasında rastgele bir gecikme süresi döndürür
        return Math.floor(Math.random() * 2000) + 3000; // 3000ms - 5000ms arası
    };

    try {
        await clickFeedButton();

        const maxIterations = 1000;
        let iterationCount = 0;

        while (iterationCount < maxIterations) {
            try {
                console.log(`İşlem ${iterationCount + 1} / ${maxIterations}`);

                await clickFeedButton();  // Feed butonuna tıklama
                await deletePost();       // Gönderi silme işlemi

                iterationCount++;
                const delayTime = getRandomDelay();  // Rastgele gecikme süresi
                console.log(`Bir sonraki işlem için ${delayTime / 1000} saniye bekleniyor...`);
                await delay(delayTime);        // Rastgele bekleme süresi

            } catch (err) {
                console.error("Gönderi silinirken hata oluştu:", err);
                break;
            }
        }

        console.log("Tüm gönderiler işlendi veya işlem tamamlandı!");

    } catch (err) {
        console.error("Hata oluştu:", err);
    }
})();
Editor is loading...
Leave a Comment