구글포토 사진 삭제 매크로

브라우저 콘솔창에 아래 코드 실행

  • 한 화면에 보여지는 사진을 삭제
  • 많은 사진이 보여지면 삭제할 수 있는 사진도 많아짐 (브라우저 화면 비율 축소)
// Selector for Images and buttons
const ELEMENT_SELECTORS = {
	checkboxClass: '.ckGgle',
	deleteButton: 'button[aria-label="삭제"]',
	//confirmationButton: '#yDmH0d > button.VfPpkd-LgbsSe.VfPpkd-LgbsSe-OWXEXe-k8QpJ.nCP5yc.AjY5Oe.qfvgSe.kHssdc.HvOprf',
	confirmationButton: 'div.XfpsVe.J9fJmf > button.VfPpkd-LgbsSe.VfPpkd-LgbsSe-OWXEXe-k8QpJ.nCP5yc.AjY5Oe.qfvgSe.kHssdc.HvOprf'
}

// Time Configuration (in milliseconds)
const TIME_CONFIG = {
	delete_cycle: 7000,
	press_button_delay: 1000
};

let imageCount = 0;

let checkboxes;
let buttons = {
	deleteButton: null,
	confirmationButton: null
}

let deleteTask = setInterval(() => {

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

	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(() => {
		console.log(1);
		buttons.deleteButton = document.querySelector(ELEMENT_SELECTORS['deleteButton']);
		buttons.deleteButton.click();

		setTimeout(() => {
			console.log(2);
			buttons.confirmation_button = document.querySelector(ELEMENT_SELECTORS['confirmationButton']);
			buttons.confirmation_button.click();
	
		}, TIME_CONFIG['press_button_delay']);
	}, TIME_CONFIG['press_button_delay']);
}, TIME_CONFIG['delete_cycle']);