Python웹크롤링트러블슈팅Selenium
📝 상황
데이터 수집 과정에서 기간 컬럼에 접수기간> 라벨까지 저장되는 문제가 발생함.
🔍 원인 분석
기간 추출 시
em.date.get_attribute("title")을 사용했음해당 속성에는
"접수기간>YYYY.MM.DD~YYYY.MM.DD"형태로 라벨+날짜가 함께 들어있었음반면,
.text값에는 화면에 보이는 순수 날짜 범위만 존재했음즉, 잘못된 속성을 가져와 불필요한 라벨까지 저장한 것
🔧 해결 과정
기간 추출 시
.text를 우선 사용하여 순수 날짜만 저장만약
.text가 비어 있으면 fallback으로title을 가져오고, 라벨을 제거한 뒤 저장종료일 판정 로직(
parse_end_date_from_text)은 그대로 활용
✅ 결과
기간 컬럼에 순수 날짜만 정확히 기록됨
라벨 혼입으로 인한 데이터 가공 오류가 제거되어, 이후 QA 로직의 신뢰성이 향상됨
💡 실무 인사이트
DOM은 속성마다 데이터 성격이 다르다
text, title, value 등 어디에 진짜 데이터가 들어있는지 반드시 확인해야 함.
한 사이트의 구조만 믿으면 안 된다
어떤 경우는 text, 또 다른 경우는 attribute에 필요한 값이 있을 수 있음.
크롤링은 ‘정답 위치’를 찾는 과정이다
단순히
get_attribute()에 의존하면 라벨·불필요한 값이 섞여 정확도가 떨어진다.실제 페이지 구조를 보고 올바른 소스를 선택해야 한다.