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.
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();