구글포토가 정책이 바뀌면서 모두 합해서 15기가를 제공한다.
현재 예전에 사용했던 구글포토 때문에 스토리지가 꽉 차서 메일 조차 받을수 없다는 메세지에
그간 미뤄났던 구글포토 사진들을 모조리 지우기로 작정하고 방법을 찾아봤다.
결론은 개발자모드에서 콘솔에 특정 소스 넣고 엔터 한번 치면 끝이였다.
잘가라 구글포토!!!
- https://photos.google.com/?hl=en 링크로 영문 구글포토로 접속
- 브라우저는 크롬을 사용해야 한다.
- 크롬 브라우저에서 개발자 모드 > 콘솔로 진입 (단축키는 shift+ctrl+i )
- 콘솔창에 아래 소스 넣고 엔터 한번 입력하고 기다리면 된다.
// 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']);
5. 아래와 같은 메세지와 함께 계속 사진들이 지워진다. 브라우저창은 닫지 말고 그대로 두고 다른 일하면 된다.

ps. 혹시 위 소스를 복사 & 붙여넣기를 했는데 에러가 나면 해당 소스를 아무 메모장에 붙여넣기 한후 다시 그걸 복사해서 콘솔에 붙여넣기 하면 되는 경우가 있음.