빠른 링크
- Page Inspector(페이지 인스펙터)
- HTML Inspector(HTML 인스펙터)
- CSS Inspector(스타일/규칙 패널)
- JavaScript Scratchpad(스크래치패드)
- Web Console(웹 콘솔)
- Get More Tools(추가 도구 받기)
Firefox의 Web Developer 메뉴에는 페이지를 검사하고 임의의 자바스크립트 코드를 실행하며 HTTP 요청과 디버그 메시지를 보는 도구들이 모여 있습니다. Firefox 10에서 새로워진 Inspector와 Scratchpad(스크래치패드) 업데이트가 포함되어 있으며, Firebug나 Web Developer Toolbar 같은 애드온과 결합하면 개발 환경으로 매우 유용합니다. 모든 도구는 Firefox 메뉴의 Web Developer 아래에서 사용할 수 있습니다.
페이지 인스펙터 (Page Inspector)
특정 요소를 검사하려면 해당 요소를 우클릭하고 Inspect를 선택하거나 키보드에서 Q를 누릅니다. Web Developer 메뉴에서 Inspector를 실행할 수도 있습니다.
화면 하단 또는 분리된 창에 툴바가 나타나며, 선택한 요소는 강조되고 나머지 요소는 반투명하게 표시됩니다. 툴바의 주요 기능은 다음과 같습니다.
- 요소 선택(Inspect) 토글: 마우스를 페이지 위로 옮겨서 요소를 클릭해 선택
- 부모·자식 탐색: breadcrumb를 클릭해 DOM 트리 상에서 위아래 이동
- 선택한 요소와 관련된 규칙/스타일/레이아웃 정보 확인
새 요소를 골라야 할 때는 툴바의 Inspect 버튼을 클릭한 다음 페이지 위에 마우스를 올리고 클릭하면 됩니다. Firefox는 커서 아래의 요소를 실시간으로 하이라이트합니다.
중요: 교차 출처(cross-origin) iframe 안의 콘텐츠는 보안 정책으로 인해 일부 제한이 있을 수 있습니다. 이 경우 iframe 내부 문서에 직접 접근할 수 없거나 일부 변경이 제한될 수 있습니다.
페이지 인스펙터 — 실무 체크리스트
- 요소 선택이 가능한가? (우클릭 → Inspect 또는 Q)
- 선택한 요소가 페이지에서 정확히 하이라이트되는가?
- breadcrumb로 부모/자식 요소를 탐색할 수 있는가?
- 변경(예: display:none, margin 조정)이 실시간으로 반영되는가?
HTML 인스펙터
HTML 버튼을 클릭하면 현재 선택된 요소의 HTML 코드를 볼 수 있습니다. 태그를 확장/축소하여 DOM 구조를 한눈에 파악할 수 있습니다.
HTML 인스펙터에서는 다음 작업이 가능합니다.
- 태그 열기/접기로 DOM 구조 시각화
- 인라인으로 태그나 속성 편집(편집 즉시 렌더 반영)
- 우클릭 메뉴에서 복사(copy) 관련 옵션 사용(outerHTML, selector 등)
- 전체 페이지의 원본을 보려면 Web Developer 메뉴의 View Page Source 선택
팁: 동적으로 생성되는 요소(자바스크립트로 추가된 노드)는 인스펙터에서 실시간으로 확인할 수 있으므로, 이벤트 핸들러가 실행된 직후 DOM 변화를 추적할 때 유용합니다.
CSS 인스펙터 (Style / Rules / Properties)
Style 버튼을 클릭하면 선택한 요소에 적용된 CSS 규칙이 표시됩니다.
규칙(Rules) 패널과 속성(Properties) 패널을 전환하여 사용할 수 있으며, 속성 패널에는 특정 속성 검색 필터가 있어 빠르게 찾을 수 있습니다.
규칙 패널에서 다음을 할 수 있습니다.
- 체크박스를 해제해 규칙 비활성화
- 규칙 텍스트를 클릭해 편집
- 패널 상단에 새 규칙을 추가해 요소에 적용
예: 요소를 굵게 만들기 위해 Rules 패널 상단에 font-weight: bold;
를 추가하면 즉시 텍스트가 굵게 보입니다.
CSS 인스펙터 사용법 팁:
- 우선 규칙 패널에서 문제의 규칙을 비활성화해서 레이아웃이 어떻게 바뀌는지 확인하세요.
- 특정 규칙이 어디에서 왔는지(사용자 스타일시트, 외부 스타일시트, 인라인 등)를 확인하면 우선순위 문제를 빠르게 파악할 수 있습니다.
- 반응형 디자인을 테스트하려면 창 크기를 조절하면서 스타일 변경을 적용해 보세요.
JavaScript Scratchpad (스크래치패드)
Scratchpad는 Firefox 10에서 업데이트되어 구문 강조(syntax highlighting)를 제공합니다. 현재 페이지에서 실행할 자바스크립트 코드를 입력할 수 있습니다.
코드를 입력한 다음 Execute 메뉴에서 Run을 선택하면 해당 탭에서 코드가 실행됩니다.
간단한 예:
// 현재 페이지에서 선택한 요소를 숨깁니다
$0.style.display = 'none';
// 콘솔에 메시지 출력
window.console.log('Hello from Scratchpad');
중요: Scratchpad에서 실행된 코드는 현재 탭의 문맥(context)에서 동작하므로, 페이지 스크립트와 동일한 전역 객체(window)를 사용합니다. 그러나 확장 환경이나 특수 권한이 필요한 작업은 제한될 수 있습니다.
웹 콘솔 (Web Console)
웹 콘솔은 이전의 Error Console을 대체한 기능입니다. 콘솔은 네트워크 요청, CSS 오류, 자바스크립트 오류, 개발자 로그(예: window.console.log) 등 여러 유형의 메시지를 표시하며, 각 유형의 표시를 토글해서 필터링할 수 있습니다.
개발자 메시지란 무엇인가요? window.console 객체로 출력되는 모든 메시지입니다. 예를 들어 Scratchpad나 페이지 스크립트에서 window.console.log("Hello World");
를 실행하면 콘솔에 메시지가 나타납니다. 이 메시지들은 디버깅 목적의 로그, 타이밍 측정, 상태 확인 등에 유용합니다.
페이지를 새로고침하면 생성된 네트워크 요청과 기타 메시지가 콘솔에 표시됩니다.
검색 상자를 사용해 메시지를 필터링하고, 더 많은 정보를 보려면 개별 요청을 클릭하세요.
Firefox 10부터 웹 콘솔은 페이지 인스펙터와 연동되어 동작합니다. $0
변수는 인스펙터에서 현재 선택한 객체를 나타냅니다. 예를 들어 현재 선택한 객체를 숨기려면 콘솔에서 다음을 실행하면 됩니다:
$0.style.display = "none";
팁: 콘솔에서 자주 쓰는 작업들
window.console.log('메시지')
— 디버그 출력$0
— 인스펙터에서 선택된 요소 참조typeof someVar
— 변수 타입 확인
추가 학습 자료는 Mozilla의 Developer Network(MDN) Web Console 문서를 참고하세요.
추가 도구 받기 (Get More Tools)
Get More Tools 옵션을 통해 Mozilla Add-Ons 사이트의 Web Developer’s Toolbox 애드온 모음을 열 수 있습니다. Firebug, Web Developer Toolbar 등 개발자에게 유용한 애드온을 이곳에서 설치할 수 있습니다.
만약 몇 년 동안 Firefox를 사용해왔다면 DOM Inspector를 기억할 수 있습니다. 내장 개발자 도구는 그때보다 크게 발전했습니다.
언제 이 도구들이 실패하거나 한계가 있는가
- 교차 출처(cross-origin) iframe 내부 콘텐츠는 보안 제한으로 인해 완전한 접근이 불가합니다.
- 브라우저 확장이나 플러그인으로 렌더링이 달라지는 경우, 개발자 도구에서 본 결과와 실제 사용자 경험이 차이가 날 수 있습니다.
- 프로덕션 환경의 비동기 로깅/압축된 코드(예: 난독화/번들링) 상태에서는 소스 맵이 없으면 디버깅이 어려울 수 있습니다.
대안 접근법
- Chrome DevTools: 일부 워크플로우(예: Lighthouse 검사나 특정 확장 기능)에서는 Chrome 도구가 더 익숙할 수 있습니다.
- 원격 디버깅: 모바일 장치나 원격 브라우저를 디버깅해야 할 때는 Firefox의 원격 디버깅 기능이나 다른 원격 도구를 사용합니다.
- 애드온: Firebug(역사적), Web Developer Toolbar처럼 특정 작업에 특화된 애드온을 병행 사용
개념적 사고 모델(mental models)
- DOM은 트리다: 노드 간 부모·자식 관계를 떠올리면 요소 위치를 찾기 쉬워집니다.
- 렌더 트리 vs DOM: CSS에 의해 렌더링되는 시점의 계산된 스타일은 렌더 트리 관점에서 생각해야 합니다.
- 우선순위(특이성): 규칙 충돌이 있을 때 어떤 규칙이 적용되는지 추적하기 위해 선택자 특이성과 출처(인라인, 스타일시트, 외부)를 항상 확인하세요.
역할별 체크리스트
프론트엔드 개발자
- 요소 선택 및 DOM 변경으로 레이아웃 검사
- CSS 규칙 수정으로 스타일 조정
- Console에서 스니펫 실행으로 동작 확인
디자이너
- 스타일 패널로 폰트·간격·컬러 확인
- 반응형 상태에서 레이아웃 확인
QA 엔지니어
- 콘솔 에러/경고 확인
- 네트워크 요청 상태(응답 코드, 로드 시간) 확인
성능 엔지니어
- 네트워크 패널과 콘솔을 통해 병목 포인트 탐지
- 리소스 크기와 캐싱 정책 검사
빠른 스니펫(자주 쓰는 예제)
// 콘솔에 간단한 로그 출력
console.log('디버그 메시지');
// 인스펙터에서 선택한 요소 숨기기
$0.style.display = 'none';
// 선택 요소의 HTML을 확인(문자열로)
$0.outerHTML;
(참고: $0
는 인스펙터에서 선택한 요소를 가리킵니다.)
테스트 케이스 / 수용 기준
- 요소 검사: Inspect로 대상 요소를 정확히 하이라이트할 수 있어야 함
- CSS 편집: Rules 패널에서 규칙을 추가/비활성화하면 렌더가 즉시 반영되어야 함
- JS 실행: Scratchpad 또는 콘솔에서 실행한 코드가 현재 탭에서 동작해야 함
- 로그 캡처: 페이지 로드 및 상호작용 시 콘솔에 오류 및 네트워크 로그가 기록되어야 함
의사결정 흐름(어떤 도구를 쓸지 모를 때)
flowchart TD
A[문제 확인] --> B{문제 유형}
B -->|레이아웃/스타일| C[CSS 인스펙터 사용]
B -->|DOM 구조| D[HTML 인스펙터 사용]
B -->|자바스크립트 동작| E[콘솔 / Scratchpad 사용]
B -->|네트워크| F[네트워크 패널 또는 콘솔]
C --> G[규칙 편집 → 결과 확인]
D --> G
E --> H[함수 호출/로그 확인]
F --> I[요청/응답 확인]
보안 및 개인 정보 주의사항
- 콘솔에 민감한 데이터를 출력하지 마세요(토큰, 비밀번호 등).
- 프로덕션 환경에서 임시로 코드를 삽입해 테스트할 때는 테스트가 끝난 즉시 변경을 제거하세요.
요약
Firefox의 웹 개발자 도구는 요소 검사, HTML/CSS 편집, 자바스크립트 실행과 로그 확인까지 한 곳에서 처리할 수 있게 해줍니다. 인스펙터와 콘솔의 연동($0
)을 활용하면 디버깅 속도가 빨라지며, 추가 도구는 Get More Tools를 통해 설치할 수 있습니다. 교차 출처 iframe이나 번들된 코드 같은 한계는 존재하므로 상황에 따라 원격 디버깅이나 소스맵 사용을 고려하세요.
중요: 개발 중 콘솔과 페이지에 민감한 정보를 노출하지 마세요.
핵심 요약
- 요소를 빠르게 검사하려면 우클릭 → Inspect 또는 Q를 누르세요.
- CSS는 Rules/Properties 패널에서 실시간으로 편집하고 확인하세요.
- Scratchpad로 페이지 콘텍스트에서 스크립트를 실행할 수 있습니다.
- 콘솔의
$0
는 인스펙터에서 선택된 요소를 참조합니다.