심재운 블로그

반응형

 

 

GOOGLE  PHOTO 구글 포토 전부 삭제하는 방법에 대해 찾아봤습니다.

 

자바스크립트를 이용하여 개발툴을 활용하여 자바스크립트를 CONSOLE 콘솔에 실행하여 지속적으로 화면에서 자동으로 삭제를 합니다.  

 

<출처>

 

https://github.com/mrishab/google-photos-delete-tool/

 

GitHub - mrishab/google-photos-delete-tool: Tool for deleting all photos from the Google Photos

Tool for deleting all photos from the Google Photos - GitHub - mrishab/google-photos-delete-tool: Tool for deleting all photos from the Google Photos

github.com

 

스크립트 내용

// How many photos to delete?
// Put a number value, like this
// const maxImageCount = 5896
const maxImageCount = "ALL_PHOTOS";

// Selector for Images and buttons
const ELEMENT_SELECTORS = {
    checkboxClass: '.ckGgle',
    deleteButton: 'button[aria-label="Delete"]',
    languageAgnosticDeleteButton: 'div[data-delete-origin] > button',
    deleteButton: 'button[aria-label="Delete"]',
    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: 10000,
    press_button_delay: 2000
};

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(() => {
        try {
            buttons.deleteButton = document.querySelector(ELEMENT_SELECTORS['languageAgnosticDeleteButton']);
            buttons.deleteButton.click();
        } catch {
            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']);

 

스크립트를 확인해 보니 영문 화면 버전에서 가능한 부분입니다. 한글이 보이는 화면에서는 안되므로 아래와 같이 영문화면으로 봅니다.

 

<영문화면으로 이동>

 

https://photos.google.com/?hl=en 

 

Google 포토

Google 포토에서는 모든 사진과 동영상을 자동으로 정리하고 간편하게 공유할 수 있습니다.

www.google.com

 

크롬 브라우저에서 키보드 F12 단축키를 누르면 DEVTOOLS 라는 개발툴이 열립니다. CONSOLE 콘솔이라는 탭으로 이동합니다.

 

 

> 콘솔 입력란에 위의 자바스크립트를 붙여넣기 해서 ENTER 키보드를 누릅니다.

 

 

 

사진 양이 많을 경우 아래와 같이 스케줄러를 통해 천천히 삭제합니다. 브라우저에 이를 실행하고 나서 그대로 두면 알아서 제거합니다. 구글 포토 화면에서 삭제는 현상을 눈으로도 볼 수 있습니다.

 

 
반응형

댓글

비밀글모드

  1. 좋은 꿀정보 잘보고 갑니다~ 행복한 하루 되세요~^^
    2022.03.03 10:47 신고
  2. 좋은 정보 잘 보았습니다.
    즐거운 하루 되세요
    2022.03.03 13:24 신고
  3. 제노이드
    덕분에 구글포토 사진정리했습니다. 감사합니다.
    혹 구글드라이브에서 파일삭제/휴지통삭제후 저장용량에 남아서 지워지지 않는 찌꺼기들 삭제하는 스크립트도 있을까요?
    파일갯수가 많아서 그런지 드라이브내 파일은 비워졌는데 저장용량/사용량내에 파일이 남아서 계속 용량을 차지하고 있네요..
    2022.05.24 10:41
    • 해당 github 은 외국분이 구현한 부분을 저는 사용법만 기술한 블로깅인지라.. 문의하신 부분은 저에게도 어려울거 같네요. ^^
      2022.05.25 00:55 신고