Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ver-1000000/e862e000357cd2804fc74bf2c62e5e5e to your computer and use it in GitHub Desktop.
Save ver-1000000/e862e000357cd2804fc74bf2c62e5e5e to your computer and use it in GitHub Desktop.
Youtube Music💢
/**
* {@link https://music.youtube.com/library/uploaded_albums}を開いてブラウザのコンソールログで実行すると
* アルバムをどんどん削除していくスクリプトです。
*
* なんだかときどき「クリックしてもアルバムの削除が実行されない」自体に陥ってしまうので、
* そういうときは手動で「Youtube Music/アップロード」のドロップダウンを開いて、再選択する必要があります。
* (頑張ればここもケアできるけどめんどくさくてやめた)
*
* - ※ 本スクリプトを実行した際の損失などについて、製作者は一切責任を負いません。
*/
const retryQuerySelector = (query, retryCount = 10) => new Promise((resolve, reject) => setTimeout(() => {
console.log(query, retryCount);
const element = document.querySelector(query);
if (element) {
resolve(element);
} else if (retryCount <= 0) {
reject(`"${query}" とか見つかんないんだけど`);
} else {
resolve(retryQuerySelector(query, --retryCount));
}
}, 1000));
const recursiveDestroyAlbums = async () => {
(await retryQuerySelector('[aria-label=その他の操作]')).click();
(await retryQuerySelector('[href="#"]')).click();
(await retryQuerySelector('[dialog-confirm]')).click();
await retryQuerySelector('.paper-toast-open');
recursiveDestroyAlbums();
}
recursiveDestroyAlbums();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment