function takiptenCikVeOnaylaBatch(limit = 20, delayBetweenBatches = 5000, scrollDelay = 3000) {
    let isRunning = true;

    async function processBatch() {
        if (!isRunning) return;

        let buttons = Array.from(document.querySelectorAll('button[aria-label^="Takip ediliyor"]'));
        let batch = buttons.slice(0, limit);

        if (batch.length === 0) {
            console.log("Yeni buton bulunamadı. Sayfa kaydırılıyor...");
            await scrollPage();
            return processBatch(); // tekrar başla
        }

        console.log(`Yeni parti: ${batch.length} kişi takipten çıkarılıyor...`);

        for (let i = 0; i < batch.length; i++) {
            batch[i].scrollIntoView({ behavior: "smooth", block: "center" });
            batch[i].click();

            await waitForConfirmAndClick(i + 1);
            await sleep(2500); // Her kişi arasında 2.5 sn bekle
        }

        console.log(`⏳ ${delayBetweenBatches / 1000} sn dinleniliyor...`);
        await sleep(delayBetweenBatches);

        await scrollPage();
        await sleep(scrollDelay);

        return processBatch(); // tekrar başla
    }

    async function waitForConfirmAndClick(index) {
        let waited = 0;
        return new Promise(resolve => {
            let interval = setInterval(() => {
                let confirmButton = document.querySelector('button[data-testid="confirmationSheetConfirm"]');
                if (confirmButton) {
                    confirmButton.click();
                    clearInterval(interval);
                    console.log(`${index}. kişi takipten çıkıldı.`);
                    resolve();
                } else {
                    waited += 300;
                    if (waited > 3000) { // 3 saniye içinde gelmediyse geç
                        console.warn(`${index}. kişi için onay butonu gelmedi.`);
                        clearInterval(interval);
                        resolve();
                    }
                }
            }, 300);
        });
    }

    async function scrollPage() {
        return new Promise(resolve => {
            window.scrollBy(0, 2000); // Aşağı kaydır
            setTimeout(() => {
                resolve();
            }, 2000);
        });
    }

    function sleep(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }

    // Durdurmak için global değişkeni false yapabilirsin
    window.durdurTakiptenCikma = () => {
        isRunning = false;
        console.log("⛔ İşlem durduruldu.");
    };

    processBatch(); // Başlat
}
Çalışan kod bunu yapıştırdıktan ve Enter yaptıktan sonra aşağıdaki kod ile başlatma komutu verebilirsiniz. Dinlenmeli kaydırmalı mükemmel çalışıyor.

Başlatmak İçin
takiptenCikVeOnaylaBatch();