완벽한 클론을 위한 모범 사례
최고 품질의 클론 결과를 얻기 위한 팁과 전략
일부 웹페이지가 클론하기 어려운 이유는 무엇인가요?
현대 웹 애플리케이션(SPA)은 콘텐츠를 렌더링하기 위해 JavaScript에 크게 의존합니다. 이는 페이지가 처음 로드될 때 HTML이 비어 있는 경우가 많고 콘텐츠가 동적으로 가져와짐을 의미합니다. 또한 많은 웹페이지가 안티 스크래핑 메커니즘, 복잡한 CSS 변수 시스템 및 Shadow DOM을 사용합니다.
100% 픽셀 단위 정확도의 클론 결과를 얻으려면 다음 모범 사례를 따르세요.
클론 전 준비
1. 콘텐츠가 완전히 로드되었는지 확인
**지연 로딩(Lazy Loading)**은 불완전한 클론의 가장 큰 원인입니다. 많은 이미지, 긴 목록 및 하단 콘텐츠는 해당 위치로 스크롤할 때만 로드됩니다.
올바른 접근 방법:
- 페이지 상단에서 하단으로 천천히 스크롤하여 모든 이미지 자리표시자가 실제 이미지로 교체되었는지 확인하세요.
- "더 불러오기" 버튼을 클릭하고 캡처하려는 모든 콘텐츠를 펼치세요.
- 모든 글꼴 파일이 로드를 완료할 때까지 기다리세요 (텍스트가 기본 글꼴로 표시되는 것을 방지하기 위해).
2. 특정 UI 상태 트리거
특정 상호작용 상태를 캡처하려는 경우:
- 드롭다운 펼치기
- 모달 / 대화상자 열기
- 특정 탭으로 전환
- Hover 상태 트리거 (Chrome DevTools를 통해 요소의
:hover상태를 강제할 수 있습니다)
이러한 상태가 활성화되어 있는 동안 확장 프로그램의 "클론 시작" 버튼을 클릭하세요.
3. 멀티미디어 콘텐츠 처리
- 비디오: 기본적으로 확장 프로그램은
<video>태그와src속성을 유지하려고 시도하지만 거대한 비디오 파일은 다운로드하지 않습니다. 비디오에poster(표지 이미지) 속성이 있는지 확인하여 오프라인일 때 자리표시자가 표시되도록 하세요. - Canvas / WebGL: 이렇게 동적으로 렌더링된 요소는 전통적인 DOM 직렬화로 캡처할 수 없습니다. 확장 프로그램은 자동으로 Canvas를 정적 Base64 이미지로 변환하려고 시도하지만 복잡한 WebGL 장면은 완벽하게 복원되지 않을 수 있습니다.
- Iframe: 교차 출처 Iframe(예: 삽입된 YouTube 동영상, 타사 댓글 시스템)은 보안상의 이유로 깊이 클론할 수 없습니다. 원래
src링크를 유지합니다.
고급 구성 팁
확장 프로그램 설정 패널에는 클론 품질에 영향을 미치는 몇 가지 주요 옵션이 있습니다:
스크립트 제거 vs 스크립트 유지
- "모든 JS 제거" 선택 (표시 전용으로 권장): 완전히 정적인 페이지를 생성합니다. 장점은 파일 크기가 작고 절대적으로 안전하며 팝업 광고나 추적 코드가 실행되지 않는다는 것입니다. 단점은 캐러셀 및 아코디언 같은 대화형 기능이 작동하지 않는다는 것입니다.
- "핵심 상호작용 유지" 선택 (베타 기능): 확장 프로그램은 UI를 제어하는 스크립트를 유지하면서 분석 스크립트(예: GA)를 필터링하려고 시도합니다. 참고: JS를 유지한 채 로컬에서 열면 복잡한 SPA 페이지는 백엔드 API를 찾을 수 없어 빈 화면이 표시될 수 있습니다.
리소스 경로 변환
"절대 경로를 상대 경로로 변환" 옵션이 활성화되어 있는지 확인하세요. 이를 통해 생성된 ZIP 패키지는 경로 문제로 인해 스타일이 손실되지 않고 로컬 하드 드라이브에서 직접(file:// 프로토콜을 통해) 열 수 있습니다.
극단적인 사례 처리
Shadow DOM을 포함한 페이지
일부 최신 컴포넌트 라이브러리는 Shadow DOM을 사용하여 기본적으로 내부 구조를 볼 수 없습니다.
해결책: CloneWebsite 핵심 엔진에는 실험적인 shadow-dom-flattener가 포함되어 있어 모든 shadow root를 순회하며 콘텐츠와 스타일을 기본 DOM 트리로 추출하려고 시도합니다. 컴포넌트가 누락된 것을 발견하면 설정에서 "Shadow DOM 강제 평탄화"를 활성화하세요.
CSP (Content Security Policy)에 의해 차단됨
매우 엄격한 일부 웹사이트(예: 은행, 대기업 인트라넷)에서는 콘솔에 다음 오류가 표시될 수 있습니다:
Refused to execute inline script because it violates the following Content Security Policy directive...
해결책: 현재 이는 브라우저의 강력한 보안 제한입니다. Chrome 스토어에서 "Disable CSP" 보조 플러그인을 검색하여 클론하는 동안 대상 웹사이트의 CSP를 일시적으로 비활성화해 볼 수 있습니다.
최종 체크리스트
- 페이지 하단까지 스크롤했나요? ✅
- 모달과 메뉴가 펼쳐졌나요? ✅
- 확장 프로그램 설정이 요구 사항에 맞나요? ✅
- 클론을 클릭하고 완료될 때까지 기다리세요! 🚀
CloneWebsite 문서