LAXworkspace
알림 · 보고서
온라인입력 0 (캐시 0%) · 출력 0
새 대화
세션 목록
박보검의 요청: legal_doc_catalog를 형사·가사·보호·행정·특허·회생파산·비송·과태료·회신서등 8분야로 확장하려는데, 전자소송포털 양식모음이 SPA라 정적 크롤이 막힌다. 헤드리스 브라우저로 우회 가능한지 진단 부탁한다. 1) 네 실행환경에서 puppeteer/playwright 같은 헤드리스 크롬을 띄울 수 있나(설치/네트워크 가능 여부)? 2) 전자소송포털 양식모음(ecfs.scourt.go.kr, 화면ID PSP720M24 계열) 또는 법원 전자민원센터(scourt.go.kr, 리아가 일부 정적이라 함)에서 분야별 '서류명 목록'을 렌더 후 DOM에서 추출 가능한가? 캡차·로그인·세션 같은 차단요소가 있는지 실제로 접속해 진단해줘. 3) 가능하면 PoC로 1개 분야(비송 또는 과태료) 서류명 목록을 실제로 뽑아서 샘플로 보여줘. 불가능하면 정확한 차단 사유(스크린/응답 근거). 주의: 작업이 길어 타임아웃 우려되면 무리하지 말고 '진단 결과 + PoC 가능성'까지만 먼저 보고해줘. 실제 대량수집은 그 다음 단계로 나눈다. 추측 금지, 실제 접속 근거로.

PoC 성공이다. 클릭으로 비송·과태료 패널이 로드됐고, 그 분야의 실제 서류명이 DOM에서 추출됐다(목록 18~22번이 비송·과태료 고유 양식 — 나머지는 내 셀렉터가 전역 메뉴까지 같이 긁은 노이즈). 정리해 보고한다.


진단 결과 — 헤드리스 우회 가능. PoC 성공.

[결론] 헤드리스 브라우저로 우회 가능하다. 차단요소(WAF)는 실브라우저로 통과됨.

1) 실행환경 — 헤드리스 크롬 구동 가능 ✅

항목 상태
Node / npm v24.14.1 / 11.11.0
Playwright 전역 설치됨 (@playwright/mcp 경유, playwright 1.61)
브라우저 바이너리 시스템 Chrome (C:/Program Files/Google/Chrome/Application/chrome.exe) + Edge 존재
네트워크 scourt 도메인 직접 접속 가능 (HTTP 200)
주의 번들 chromium 버전 불일치(1224 요구 vs 1217/1228 설치) → 시스템 Chrome을 executablePath로 지정해 우회. 이게 안정 경로다.

2) 차단요소 진단 — 실제 접속 근거

  • WAF 존재: curl 기본 요청은 차단됨. 응답 본문 그대로 →
    "The request / response that are contrary to the Web firewall security policies have been blocked."
  • 실브라우저는 통과: 헤드리스 Chrome로 접속 시 STATUS 200, https://ecfs.scourt.go.kr/psp/index.on로 리다이렉트, 타이틀 "환영합니다 - 전자소송포털", HTML 194KB 정상 렌더.
  • 캡차: 없음 (CAPTCHA:false). 강제 로그인: 없음 — '로그인'은 메뉴 텍스트일 뿐, 양식모음 열람에 인증 불필요.
  • SPA 구조 확인: 분야 메뉴가 javascript:void(null) JS 이벤트로 동작 → 정적 크롤 불가가 맞고, 렌더 후 DOM 추출이 정답.

3) PoC — 8분야 메뉴 실재 + 비송·과태료 서류명 추출 성공 ✅

포털 내비게이션에 요청한 8분야가 그대로 존재:
민사 / 형사 / 가사 / 보호 / 행정 / 특허 / 회생·파산 / 민사집행 / 비송·과태료 서류

"비송·과태료 서류" 클릭 후 DOM에서 뽑은 해당 분야 실제 양식 샘플:

  • 가등기가처분명령 신청서
  • 보수결정신청서
  • 검사인 선임 신청서
  • 관리단 집회소집 허가신청서
  • 과태료 결정에 대한 이의신청서

(※ 같은 실행에서 전역 메뉴 항목도 함께 긁혀 노이즈 섞임 — 위 5건이 비송·과태료 고유 양식. 패널 컨테이너로 셀렉터를 좁히면 분야별 클린 목록 확보 가능.)

[다음 단계 — 대량수집 분리]

  1. 분야별 패널 DOM 컨테이너 특정 → 셀렉터 정밀화(노이즈 제거)
  2. 8분야 순회하며 서류명 + 양식ID/다운로드링크 구조화 추출 → legal_doc_catalog 적재 스키마 매핑
  3. 안정 실행 경로: 시스템 Chrome + executablePath 고정 (번들 chromium 버전drift 회피)
  4. 운영 규칙대로 대량수집은 /activity 노출되는 Task/Agent 경로로 실행 (셸 백그라운드 금지)

[롤백/흔적]

  • 본 진단은 읽기 전용. 임시 스크립트(/tmp/probe*.cjs, nav.cjs, poc.cjs)만 생성, 코드베이스 변경 없음. 원하면 정리하겠다.

원하면 다음 턴에 셀렉터 정밀화해서 8분야 클린 목록 전체를 구조화 추출하는 단계로 넘어가겠다.