Skip to content

About

구글 포토의 모든 사진을 지우는 도구입니다. (한글 최적화)

Resources

Stars

7 stars

Watchers

1 watching

Forks

 
 

Latest commit

 

History

24 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

구글 포토 전체 삭제 자동화 도구 (한국어)

⚠️ 먼저 읽어 주세요

이 스크립트는 구글 포토의 사진을 휴지통으로 보냅니다. 휴지통에 있는 사진은 보관 기간이 지나면 완전히 삭제되며, 그 뒤에는 복구할 수 없습니다.

  • 지우면 안 되는 사진이 있다면 먼저 백업하세요. (Google takeout 등)
  • 처음에는 반드시 DRY RUN(기본값)으로 실행해서 스크립트가 버튼을 제대로 찾는지 확인하세요. DRY RUN 은 사진을 선택해 보기만 하고 아무것도 지우지 않습니다.
  • 실제 삭제로 넘어갈 때도 maxImageCount 를 작은 숫자(예: 5)로 두고 한 번 시험해 보시기를 권합니다.

유지보수 상태

이 저장소는 적극적으로 관리하고 있지는 않지만 보관(archive) 처리하지 않았습니다. 이슈와 풀 리퀘스트는 언제든 환영합니다.

구글 포토는 화면 구조를 예고 없이 바꾸기 때문에 어느 시점부터 동작하지 않을 수 있습니다. 그런 경우 대부분은 스크립트 위쪽의 선택자 설정 몇 줄만 고치면 됩니다. 아래 동작하지 않을 때 항목을 참고해 주세요.

최종 동작 확인일: 2026년 7월 28일 한국어 구글 포토에서 사진 약 300장을 실제로 삭제해 정상 동작을 확인했습니다.


이 저장소에 대하여

감사하게도 @mrishab 님이 만들어 주신 google-photos-delete-tool이 한국어 구글 포토에서는 정상 작동하지 않아 한국어 환경에 맞게 수정한 것입니다. 문서도 한국어로 번역했습니다. (@gomgom)

초기에는 버튼 이름과 CSS 클래스가 영어판과 달라서 포크가 필요했지만, 지금은 언어와 무관한 구조적 선택자를 우선 사용하고 한국어 라벨을 예비 수단으로 두는 방식이라 예전보다 훨씬 덜 깨집니다.

참고: 한국어 구글 포토의 삭제 버튼 이름은 삭제가 아니라 휴지통으로 이동 입니다. 예전 버전이 동작하지 않았던 이유 중 하나입니다.

다른 언어에서도 될까요

아마도 됩니다. 다만 확인한 것은 한국어뿐입니다.

지금 스크립트는 버튼을 찾을 때 문구보다 구조를 먼저 봅니다. 삭제 버튼은 div[data-delete-origin] button, 대화상자의 진행 버튼은 data-mdc-dialog-button-default 표식으로 찾는데, 둘 다 표시 언어와 무관합니다. 실제 실행 로그에서도 두 대화상자 모두 문구를 보기 전에 구조로 찾혔습니다.

문구로 넘어가는 경우를 대비해 한국어와 영어 문구를 함께 넣어 두었지만, 그 외 언어는 넣어 두지 않았습니다.

다른 언어 환경에서 사용해 보시고 결과를 이슈로 알려 주시면 반영하겠습니다. 동작하지 않는다면 콘솔에 찍힌 대화상자 ... 줄을 그대로 붙여넣어 주세요. 버튼 문구가 함께 기록되어 있어 바로 추가할 수 있습니다.


준비물

최근 버전의 웹 브라우저가 필요합니다. 구글 크롬에서 확인했으며, 파이어폭스나 MS 엣지 등 다른 브라우저에서도 대체로 동작합니다. 아래 설명은 구글 크롬 기준이라 다른 브라우저에서는 단축키나 메뉴 이름이 다를 수 있습니다.

사용 방법

  1. 사진을 삭제할 구글 계정에 로그인합니다.

구글 계정 로그인 페이지

  1. 구글 포토로 이동합니다.

구글 포토 페이지

참고: 정상 로그인되었다면 내 사진이 표시됩니다.

  1. 개발자 도구를 실행합니다. 아래 세 가지 중 편한 방법을 쓰세요.

    • 키보드 단축키

      CTRL + SHIFT + I 를 누릅니다.

    • 페이지 빈 공간에서

      빈 공간을 우클릭해 맨 아래 '검사(N)'를 누릅니다.

      구글 크롬 오른쪽 클릭 팝업 메뉴

    • 상단 메뉴에서

      1. 메뉴 버튼(구글 크롬 메뉴 아이콘)을 누릅니다. (보통 우측 상단)

      2. '도구 더보기' → '개발자 도구'

      구글 크롬 개발자 도구 메뉴

  2. 개발자 도구가 열리면 'Console' 탭을 누릅니다.

구글 포토 콘솔 페이지

콘솔에 구글이 적어 둔 경고가 보입니다. 콘솔에 코드를 붙여넣는 행위는 공격자가 Self-XSS 로 개인 정보를 빼내는 데 악용될 수 있습니다. 내용을 확인하지 않은 코드는 절대 붙여넣지 마세요. 이 스크립트도 붙여넣기 전에 한 번 읽어 보시길 권합니다.

  1. delete_photos.js 의 전체 내용을 복사해 콘솔에 붙여넣습니다.

개발자 도구 콘솔 소스 코드

붙여넣기가 막힐 때 — allow pasting

최근 크롬(및 엣지)에서는 콘솔에 코드를 처음 붙여넣으려고 하면 붙여넣기를 막고 아래 경고를 보여줍니다.

Warning: Don't paste code into the DevTools Console that you don't understand
or haven't reviewed yourself. This could allow attackers to steal your identity
or take control of your computer. Please type "allow pasting" below and press
Enter to allow pasting.

잘 모르거나 직접 검토하지 않은 코드를 콘솔에 붙여넣지 마세요. 공격자가 여러분의 신원을 도용하거나 컴퓨터를 장악할 수 있습니다. 붙여넣기를 허용하려면 아래에 "allow pasting" 을 입력하고 Enter 를 누르세요.

이 경고가 나오면 콘솔에 다음을 입력하고 Enter 를 누르세요.

allow pasting
  • 직접 타이핑해야 합니다. 이 문구 자체를 복사해서 붙여넣으면 인식되지 않습니다.
  • 한 번 입력하면 그 뒤로는 붙여넣기가 됩니다.
  • 그다음 5) 로 돌아가 스크립트를 붙여넣으세요.

이 경고는 위에서 설명한 Self-XSS 공격을 막기 위한 장치입니다. 귀찮다고 습관적으로 넘기지 마시고, 붙여넣으려는 코드가 무엇인지 확인한 뒤에 진행하세요.

  1. 엔터를 누릅니다.

  2. 처음 실행하면 DRY RUN 으로 동작합니다. 콘솔에 다음과 비슷한 결과가 나오면 정상입니다.

    [정보] 모드: DRY RUN (실제로 지우지 않음)
    [정보] 1번째 주기: 36장 선택함
    [정보] 삭제 버튼 찾음 — 구조적 선택자 → "휴지통으로 이동"
    [완료] DRY RUN 확인 완료 — 실제로는 아무것도 삭제하지 않았습니다.
    
  3. 확인이 끝났으면 스크립트 위쪽 CONFIG 에서 dryRun 을 false 로 바꾸고 다시 붙여넣어 실행합니다.

    const CONFIG = {
        dryRun: false,              // ← 실제 삭제
        maxImageCount: 5,           // ← 처음에는 작은 숫자로 시험해 보세요
        ...
    };
  4. 사진이 순차적으로 삭제됩니다. 작업이 끝날 때까지 이 탭을 화면 앞에 두세요.


실행 중 알아두면 좋은 것

계정에서 처음 삭제할 때 안내창이 한 번 뜹니다

해당 구글 계정에서 사진을 처음 삭제하는 경우, 아래와 같은 안내창이 한 번 나타납니다.

항목을 휴지통으로 이동

Google 계정, 백업이 사용 설정된 기기, Google 포토 내에서 내가 공유한 장소에서
사진과 동영상이 삭제됩니다. 다른 기기에서는 사진과 동영상이 삭제되었는지
검토해야 할 수도 있습니다. [자세히 알아보기]

                                                        [취소]  [확인]

스크립트가 이 창을 알아서 처리하므로 그대로 두시면 됩니다. 본문의 자세히 알아보기 는 눌러도 삭제가 진행되지 않는 도움말 링크라서, 스크립트가 절대 누르지 않도록 해 두었습니다.

이 안내는 삭제를 한 번 완료할 때까지 계속 나옵니다. 취소 를 누르면 다음 시도에서 다시 나오고, 확인 을 눌러 삭제가 실제로 완료되면 그 뒤로는 나오지 않습니다.

첫 삭제일 때는 창이 두 번 뜬다는 점에 유의하세요.

뜨는 창
첫 삭제 ① 위 안내창 [취소/확인] → ② 일반 확인창 [취소/휴지통으로 이동]
그 뒤로는 일반 확인창 하나

②번 일반 확인창은 이런 내용입니다.

Google 계정, 백업이 사용 설정된 기기, Google 포토 내에서 내가 공유한
장소에서 삭제하시겠습니까? Google 계정 스토리지에서 4.5MB가 복구됩니다.

                                          [취소]  [휴지통으로 이동]

스크립트는 더 이상 창이 뜨지 않을 때까지 이어서 처리하므로 두 경우 모두 정상 동작합니다.

스크립트를 실행했는데 창이 이미 떠 있다면

스크립트가 시작할 때 열려 있는 창을 발견하면 취소 를 눌러 안전하게 닫고 정상 절차대로 다시 진행합니다. 무슨 창인지 알 수 없는 상태에서 확인 을 누르면 의도하지 않은 동작이 실행될 수 있기 때문입니다.

탭을 다른 창으로 가리지 마세요

구글 포토는 탭이 백그라운드에 있으면 클릭을 즉시 처리하지 않고 미뤄 둡니다. 그 상태로는 "선택은 했는데 아무 일도 일어나지 않는" 것처럼 보이고, 나중에 탭을 다시 열면 밀렸던 동작이 한꺼번에 실행됩니다.

스크립트는 이 상태를 감지하면 스스로 멈추고 기다립니다. 탭을 다시 앞으로 가져오면 자동으로 이어서 진행합니다.

중간에 멈추고 싶을 때

콘솔에 다음을 입력하세요.

window.__gpStop = true

설정값

스크립트 위쪽 CONFIG 에서 조정할 수 있습니다.

항목 설명
dryRun true 면 아무것도 지우지 않고 동작만 확인합니다. 기본값 true
maxImageCount 삭제할 사진 수. 전체는 'ALL_PHOTOS', 개수를 정하려면 숫자
deleteCycle 삭제 주기 간격(ms). 인터넷이 느리면 늘리세요
buttonDelay 버튼을 누른 뒤 대기 시간(ms)
maxCycles 무한 반복 방지용 상한

인터넷이 느려 중간에 실패한다면 deleteCycle 과 buttonDelay 를 늘린 뒤, 페이지를 새로고침하고 스크립트를 다시 실행하세요.


동작하지 않을 때

구글이 화면 구조를 바꾸면 스크립트가 버튼을 못 찾을 수 있습니다. 이때 콘솔에 어느 단계에서 실패했는지 표시되니, 그 메시지를 먼저 확인하세요.

콘솔에 붙여넣기가 아예 안 될 때

Warning: Don't paste code into the DevTools Console... 경고가 뜨면서 붙여넣기가 막힌 경우입니다. 콘솔에 allow pasting 을 직접 타이핑하고 Enter 를 누르세요. 자세한 내용은 위의 붙여넣기가 막힐 때 항목을 참고하세요.

"삭제 버튼을 찾지 못했습니다"

  1. 구글 포토에서 사진을 하나만 선택합니다.
  2. 상단에 나타난 휴지통 아이콘을 우클릭 → 검사를 누릅니다.
  3. 선택된 <button> 태그의 aria-label 값을 확인합니다.
  4. 스크립트 위쪽 SELECTORS.deleteButtonLabels 배열에 그 값을 추가합니다.
const SELECTORS = {
    ...
    deleteButtonLabels: ['휴지통으로 이동', '새로 확인한 값', 'Delete'],
    ...
};

"사진을 선택하지 못했습니다"

대개는 탭이 화면 앞에 없어서 생기는 문제입니다. 탭을 활성 상태로 두고 페이지를 새로고침한 뒤 다시 실행해 보세요.

그래도 안 되면 사진 타일의 체크박스 클래스(.ckGgle)가 바뀐 경우입니다. 사진 위에 마우스를 올렸을 때 나타나는 동그란 체크 표시를 검사해서 클래스명을 확인하고 SELECTORS.checkbox 를 고치세요.

"확인 대화상자는 떴지만 진행 버튼을 찾지 못했습니다"

대화상자에 표시된 버튼 문구를 SELECTORS.confirmTexts 배열에 추가하세요.

고치셨다면

이슈로 알려 주시거나 풀 리퀘스트를 보내 주시면 반영하겠습니다. 급하시면 포크해서 바로 쓰셔도 됩니다.

이슈를 남기실 때 아래 정보를 함께 적어 주시면 도움이 됩니다.

  • 콘솔에 표시된 오류 메시지 전체
  • 구글 포토 표시 언어
  • 브라우저와 버전

About

구글 포토의 모든 사진을 지우는 도구입니다. (한글 최적화)

Resources

Stars

7 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages