Tarayıcı konsolundan (Browser Console) işlem yapmak, API limitlerine takılmamak (veya farklı limitlere tabi olmak) için iyi bir yöntemdir. Ancak Twitter (X) arayüzü sürekli değiştiği için bu yöntem biraz “manuel otomasyon” gibidir.

Adım 1: Hazırlık

  1. Chrome veya kullandığın tarayıcıda X (Twitter) hesabını aç.
  2. Profiline git ve Yanıtlar (Replies) sekmesine tıkla (Burası çok önemli, sadece yanıtlarının olduğu ekranda olmalısın).
  3. Sayfanın herhangi bir yerinde sağ tıkla -> İncele (Inspect) de.
  4. Açılan panelden Console sekmesine gel.

Adım 2: Script (Kod)

Aşağıdaki kodu kopyala ve konsola yapıştır.

ÖNEMLİ: Bu kod Twitter dil ayarının Türkçe olduğunu varsayar. Eğer İngilizce kullanıyorsan koddaki “Sil” kelimesini “Delete” olarak değiştirmen gerekir.


async function silmeIslemiBaslat() {
console.log("--- Silme İşlemi Başlatılıyor ---");

// Tweetlerin yanındaki 3 nokta (Daha fazla) butonlarını bul
// Twitter'da bu butonun genellikle test-id'si 'caret'tir.
let menuButtons = document.querySelectorAll('[data-testid="caret"]');

console.log(menuButtons.length + " adet tweet bulundu (Ekranın görünen kısmında).");

for (let i = 0; i < menuButtons.length; i++) { let btn = menuButtons[i]; // Görünür alana getir (scroll yap) btn.scrollIntoView({ behavior: 'smooth', block: 'center' }); // 1. Menüyü aç (3 noktaya tıkla) btn.click(); await new Promise(r => setTimeout(r, 1000)); // Menü açılsın diye 1 sn bekle

// 2. "Sil" seçeneğini bul ve tıkla
// Menüdeki elemanları tara
let menuItems = document.querySelectorAll('[role="menuitem"]');
let deleteBtn = null;

menuItems.forEach(item => {
// Türkçe kullanıyorsan "Sil", İngilizce ise "Delete"
if (item.innerText.includes("Sil") || item.innerText.includes("Delete")) {
deleteBtn = item;
}
});

if (deleteBtn) {
deleteBtn.click();
console.log((i + 1) + ". Tweet silme komutu verildi...");
await new Promise(r => setTimeout(r, 1000)); // Onay kutusu gelsin diye bekle

// 3. Onayla (Kırmızı Sil Butonu)
let confirmBtn = document.querySelector('[data-testid="confirmationSheetConfirm"]');
if (confirmBtn) {
confirmBtn.click();
console.log("✅ Silindi.");
// İşlem sonrası UI'ın toparlanması ve ban yememek için bekleme süresi
await new Promise(r => setTimeout(r, 3000));
} else {
console.log("❌ Onay butonu bulunamadı.");
// Menüyü kapatmak için boşluğa tıkla (ESC mantığı)
document.body.click();
}
} else {
console.log("⚠️ Bu tweet sana ait değil veya Sil butonu yok (Atlanıyor).");
// Menüyü kapatmak için sayfaya tıkla
document.body.click();
}

// Döngü çok hızlı akmasın
await new Promise(r => setTimeout(r, 1000));
}

console.log("--- Görünen kısımdaki işlemler bitti. Sayfayı aşağı kaydırıp tekrar çalıştırın. ---");
}

// Fonksiyonu çalıştır
silmeIslemiBaslat();

Bu Kod Ne Yapar?

  1. Ekranda o an görünür olan tweetlerin yanındaki “…” (üç nokta) menüsüne tıklar.
  2. Açılan menüde “Sil” (veya “Delete”) yazısını arar.
  3. Varsa tıkla ve çıkan “Emin misin?” kutusundaki kırmızı “Sil” butonuna tıklar.
  4. 3 saniye bekler (Bu çok önemli, beklemezsen tarayıcı “Çok hızlı işlem yapıyorsun” diyerek seni durdurur).

Dikkat Edilmesi Gerekenler

  • Sayfa Yüklemesi: Bu kod sadece o an sayfada yüklü (görünen) tweetleri siler. Kod “Bitti” dediğinde sayfayı biraz aşağı kaydırıp yeni tweetlerin yüklenmesini sağla ve kodu tekrar yapıştır/çalıştır (veya yukarı ok tuşuna basıp tekrar enter’la).
  • Hata Alırsan: Eğer “Something went wrong” hatası alırsan sayfayı yenile ve 5-10 dakika bekle.
  • Yanıtlar Sekmesi: Kodu mutlaka profilindeki “Yanıtlar” sekmesinde çalıştır. Ana sayfada çalıştırırsan başkalarının tweetlerini “spam bildir” veya “takibi bırak” gibi yanlış yerlere tıklayabilir (gerçi kod “Sil” kelimesini arıyor, o yüzden nispeten güvenli ama yine de dikkatli ol).