본문 바로가기

생활꿀팁

구글 포토 전체선택 한번에 삭제하기

반응형

구글 포토 HTML 엘리먼트가 변경되서 다음 코드로 적용해야 삭제된다.

 

사용법은 

 

1. 크롬 브라우저 실행 후 F12키 클릭

 

2. console 창에 마우스 클릭

 

3. 아래 스크립트 코드 입력 후 엔터키

const maxImageCount = "ALL_PHOTOS";

 

// Selector for Images and buttons

const ELEMENT_SELECTORS = {

    checkboxClass: '.ckGgle',

    deleteButton: 'button[aria-label="삭제"]',

    confirmationButton: '#yDmH0d > div.llhEMd.iWO5td > div > div.g3VIld.V639qd.bvQPzd.oEOLpc.Up8vH.J9Nfi.A9Uzve.iWO5td > div.XfpsVe.J9fJmf > button.VfPpkd-LgbsSe.VfPpkd-LgbsSe-OWXEXe-k8QpJ.nCP5yc.kHssdc.HvOprf'

}

 

// Time Configuration (in milliseconds)

const TIME_CONFIG = {

    delete_cycle: 7000,

    press_button_delay: 1000

};

 

const MAX_RETRIES = 10;

 

let imageCount = 0;

 

let checkboxes;

let buttons = {

    deleteButton: null,

    confirmationButton: null

}

 

let deleteTask = setInterval(() => {

    let attemptCount = 1;

 

    do {

        checkboxes = document.querySelectorAll(ELEMENT_SELECTORS['checkboxClass']);

 

    } while (checkboxes.length <= 0 && attemptCount++ < MAX_RETRIES);

 

 

    if (checkboxes.length <= 0) {

        console.log("[INFO] No more images to delete.");

        clearInterval(deleteTask);

        console.log("[SUCCESS] Tool exited.");

        return;

    }

 

    imageCount += checkboxes.length;

 

    checkboxes.forEach((checkbox) => { checkbox.click() });

    console.log("[INFO] Deleting", checkboxes.length, "images");

 

    setTimeout(() => {

 

        buttons.deleteButton = document.querySelector(ELEMENT_SELECTORS['deleteButton']);

        buttons.deleteButton.click();

 

        setTimeout(() => {

            buttons.confirmation_button = document.querySelector(ELEMENT_SELECTORS['confirmationButton']);

            buttons.confirmation_button.click();

 

            console.log(`[INFO] ${imageCount}/${maxImageCount} Deleted`);

            if (maxImageCount !== "ALL_PHOTOS" && imageCount >= parseInt(maxImageCount)) {

                console.log(`${imageCount} photos deleted as requested`);

                clearInterval(deleteTask);

                console.log("[SUCCESS] Tool exited.");

                return;

            }

 

        }, TIME_CONFIG['press_button_delay']);

    }, TIME_CONFIG['press_button_delay']);

}, TIME_CONFIG['delete_cycle']);

 

반응형