概要
過去にアクティビティから削除する方法を紹介しました
今回はブックマークレットで削除する方法を紹介します
環境
- Chrome 139.0.7258.155
ブックマークレット
javascript:(function(){
let openBtn=document.querySelector('a[href="/feed/channels"]');
if(openBtn) {
openBtn.click();
console.log("チャンネル一覧を開きました");
}
setTimeout(()=>{
let buttons=document.querySelectorAll('#notification-preference-button > ytd-subscription-notification-toggle-button-renderer-next > yt-button-shape > button');
let i=0;
function unsubscribe(){
if(i<buttons.length){
buttons[i].click();
console.log(`通知設定ボタンをクリック: ${i+1}/${buttons.length}`);
setTimeout(()=>{
let confirmBtn=document.querySelector('#items > ytd-menu-service-item-renderer:nth-child(3)');
if(confirmBtn) {
confirmBtn.click();
console.log(`登録解除メニューをクリック: ${i+1}/${buttons.length}`);
setTimeout(()=>{
let dialogBtn=document.querySelector('#confirm-button > yt-button-shape > button > yt-touch-feedback-shape > div');
if(dialogBtn) {
dialogBtn.click();
console.log(`確認ダイアログをクリック: ${i+1}/${buttons.length}`);
}
i++;
if(i<buttons.length){
setTimeout(unsubscribe,1500);
} else {
console.log("すべてのチャンネル登録解除が完了しました");
alert("すべてのチャンネル登録解除が完了しました");
}
},500);
} else {
console.log(`登録解除メニューが見つかりません: ${i+1}`);
i++;
setTimeout(unsubscribe,1500);
}
},1000);
}
}
unsubscribe();
},1500);
})();
最後に
スクロールに対応していないので大量にチャンネル登録している場合には一回だとダメかもしれません
また DOM が変わり CSS セレクタ情報が変わった場合には変更する必要があります
0 件のコメント:
コメントを投稿