Last active
September 30, 2022 00:38
-
-
Save ver-1000000/e862e000357cd2804fc74bf2c62e5e5e to your computer and use it in GitHub Desktop.
Youtube Music💢
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* {@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