LoginSignup
16
6

More than 3 years have passed since last update.

Amazon Photosで一括削除できなかったのでスクリプト書いた

Last updated at Posted at 2019-10-01

きっかけ

アマゾンのプライム会員になると、Amazon Photosというサービスを利用できます。

外部リンク : Amazonプライムフォトが超最強!RAWも無制限にバックアップ可能

画像のみなら容量制限がなく、枚数制限もなく、劣化もしないという神サービスなのですが
画像枚数が一定枚数を超えると一括削除できません

最初の方は1枚選ぶと「すべて選択」というボタンが出現していたのですが、3000枚を超えたあたり?で出なくなったようです。
1枚ずつ選んで消すなんて修行はしたくなかったので、スクリプト書きました。

画像を選択してスクロールしていくだけのスクリプトです。
ChromeのデベロッパーツールからConsoleを開いて(Ctrl + Shift + J)貼り付けて実行すると
3000枚まで自動選択されます。※一度に選択できる上限

削除できたらリロードして貼り付けて~を繰り返してください。

うまくいかない場合はtimeとかいじってみてください。

const time = 0;
let selectCount = 0;
let ngCount = 0;
const id = setInterval( async () => {
    try {
        let tmp = 0;
        document.querySelectorAll('div[class*=selector]').forEach(element => {
            if(!element.className.includes("selected")) {
                element.click();
                tmp++;
                ngCount = 0;
            }
        });
        selectCount += tmp;

        if(tmp === 0) {
            if(ngCount > 10) {
                end(id);
            } else {
                ngCount++;
            }
        } else if(selectCount >= 3000) {
            end(id);
        }

        await new Promise(resolve => setTimeout(() => resolve(), time));

        scrollBy(0, 400);
    } catch (error) {
        end(id, false);
    }

})

const end = (id, click = true) => {
    if(click) {
        document.querySelector("button[class=trash]").click();
    }
    clearInterval(id);
}
16
6
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
6