귀찮은거는 이제 그만! 부동산 매물 재등록 자동화

소개


네이버부동산에서는 매물 등록을 하고 1달 뒤에는 삭제되어서 재등록이 필요하다!
-> 등록일로부터 1달 뒤에 시기에 맞춰서 재등록하는 것을 자동으로 해보자.

기존에 매물을 자동으로 등록하는 프로그램에 재등록 기능을 추가하는 것 시도!

## 📝 한줄 요약

Claude Code와 함께 부동산써브 매물 재등록 자동화를 반나절 만에 완성. 이제 깜빡해도 매물이 네이버부동산에서 사라지지 않습니다.

바쁘시면 이것만 읽어도 돼요:

- Claude Code로 매물 재등록 자동화 구축 → 놓치지 않고 자동 처리

- 깜빡하면 매물이 네이버부동산에서 사라지는 문제 해결

- Selenium에서 Playwright로 전환하면서 기존 코드 패턴을 AI가 분석해 변환

- 디버깅 편의를 위해 마우스 커서가 화면에서 어디를 클릭하는지 시각적으로 보여주는 기능 추가

- 실사용 시에는 헤드리스 모드로 다른 작업하면서 자동 처리 가능

## 🎯 이런 분들께 도움돼요

- 반복적인 웹 작업을 자동화하고 싶은 분

- Selenium → Playwright 전환을 고민하는 분

- AI 코딩 도구로 실무 자동화를 경험해보고 싶은 분

## 😫 문제 상황 (Before)

부동산 중개사무소에서 매물을 등록하면, 일정 기간이 지나면 만료됩니다. 만료되면 다시 재등록을 해야 하는데, 문제는 시간이 아닙니다.

진짜 문제는 "놓치면 안 된다"는 것.

재등록 자체는 1~2분이면 끝나는 간단한 작업입니다. 하지만 매일 챙겨야 합니다. 바쁜 일정 속에서 깜빡하면?

- 매물이 네이버부동산에서 사라집니다

- 다시 찾아서 올려야 하는 번거로움

- 그 사이 영업 기회를 놓치게 됩니다

짧은 시간이라도 내 시간을 매일 놓치지 않고 투입해야 한다는 게 부담이었습니다.

기존에 Antigravity(Gemini 기반 AI)로 자동화를 시도했는데, 개발시간이 오래걸려서 허세임 스터디장님이 클로드코드를 추천해줘서 작업도구를 과감히 변경

MAX요금제 그냥 질러버림요!

## 🛠️ 사용한 도구

- 도구명: Claude Code (CLI 버전)

- 모델: Claude Opus 4.5 MAX 200$

- 특이사항: 기존 Selenium 코드를 Playwright로 전환

---

## 🔧 작업 과정

### 기존 코드 분석부터 시작

처음엔 막막했습니다. 기존에 Selenium으로 작성된 자동화 코드가 있는데, 이걸 어떻게 Playwright로 바꾸지?

```

기존에는 셀레니움으로 어떻게 성공한거야? Playwright로 변환해줘.

```

Claude Code가 기존 코드를 분석하더니, Selenium의 ActionChains 패턴을 Playwright의 mouse API로 깔끔하게 변환해줬습니다.

핵심 변환:

- ActionChains.move_to_element().click() → page.mouse.move() + page.mouse.click()

- driver.find_elements(By.XPATH) → page.query_selector_all('xpath=...')

### 디버깅을 위한 마우스 트래커

자동화의 가장 큰 문제는 "지금 뭘 하고 있는지 모른다"는 것입니다. 화면에서 뭘 클릭하는지 안 보이니까, 에러가 나면 어디서 문제인지 찾기가 어렵습니다.

```

프로그램이 작동하면서 무엇인가를 할 때 마우스트래커가 잘 따라가도록 모든 작동 지점에서 활동하게 해줘.

```

Claude Code가 주황색 동그라미 커서를 만들어서, 자동화가 어디를 클릭하는지 시각적으로 보여주게 했습니다. 클릭할 때마다 애니메이션까지!

이제 자동화가 돌아가는 걸 눈으로 보면서 확인할 수 있게 됐습니다.

### 예상치 못한 모달 처리

테스트하다 보니, "모두동의" 체크박스를 누르면 자동으로 모달창이 뜨는 경우가 있었습니다. 원래 코드는 체크 후 "매물등록" 버튼을 누르도록 되어 있는데, 모달이 먼저 떠버리면 버튼을 못 찾아서 에러가 납니다.

```

마지막 모두동의 체크박스를 누른 다음에 자동으로 모달창이 뜨면 매물등록 버튼 누르려는 작업은 알아서 취소하고 모달창 반응하면 돼.

```

Claude Code가 체크 후 모달 출현을 감지하는 로직을 추가해서, 상황에 따라 유연하게 대응하도록 만들었습니다.

### 실제 테스트에서 발견한 버그

```

실제 테스트에서 매물의 등록시 주의사항 체크를 놓쳤는데?

```

테스트해보니 체크박스를 클릭했는데 실제로 체크가 안 되는 경우가 있었습니다. Vuetify라는 UI 프레임워크 특성상, 클릭해도 체크 상태가 안 바뀌는 경우가 있더라고요.

Claude Code가 클릭 후 실제 체크 상태를 확인하고, 안 됐으면 다시 시도하는 로직을 추가했습니다.

---

## ✅ 결과 (After)

이제 매일 체크해야하는 하루 5분의 시간을 아끼고, 깜빡하고 놓쳐서 매물이 네이버 부동산에서 내려가는 사고를 예방할 수 있게 되었습니다.

매물재등록테스트시연.mp4
11.8MB

### 결과물

- D-2(이틀 후 만료) 매물 자동 감지 → 놓치지 않고 처리

- 8단계 재등록 워크플로우 완전 자동화

- 시각적 마우스 트래커로 디버깅 용이

- 실사용 시 헤드리스 모드 지원 (백그라운드 실행)

## 💬 이 과정에서 배운 AI 활용 팁

### 효과적이었던 것

1. 기존 코드를 먼저 보여주기: "이렇게 했는데, 이걸로 바꿔줘" 식으로 요청하니까 정확한 변환이 됨

2. 문제 상황 구체적으로 설명: "체크를 놓쳤다"처럼 현상을 알려주니 바로 수정안 제시

3. 성공문서 활용: 프로젝트의 CLAUDE.md에 코딩 컨벤션과 아키텍처를 정리해두니, AI가 일관된 스타일로 코드 작성

### 이렇게 하면 안 돼요

1. 한 번에 너무 많은 것 요청 → 단계별로 나눠서 요청

2. 테스트 없이 다음 작업 진행 → 각 단계마다 실제 테스트 필https://files-us-east-1.t-cdn.net/files/YlCyKIGiDKbbbX8CryigR 수

## 🌍 다른 업무에 적용한다면?

- 놓치면 손해가 발생하는 정기 업무 (갱신, 신고, 등록 등)

- 매일/매주 챙겨야 하는데 깜빡하기 쉬운 작업

- "짧은 시간이지만 꼭 해야 하는" 귀찮은 반복 업무

## 🚀 앞으로의 계획

- 네모상가, 호갱노노 사이트 매물 등록 개발 예정

- 매일 자동 실행되도록 스케줄러 연동

- 카카오톡이나 이메일로 결과 알림 발송

## 📋 재사용 가능한 프롬프트

### 프롬프트 1: 기존 코드 변환 요청

> 기존에는 [기술A]로 [이런 방식]으로 구현했어. [기술B]로 변환해줘.

> [기존 코드나 패턴 설명]

### 프롬프트 2: 디버깅 가시성 요청

> 자동화가 실행될 때 지금 어디를 처리하고 있는지 시각적으로 보여줘.

> [클릭할 때 표시, 진행 상황 로그 등]

### 프롬프트 3: 예외 상황 대응 요청

> [특정 동작] 후에 [예상치 못한 상황]이 발생하면 [원래 계획]은 건너뛰고 [대체 동작]으로 처리해.

지피터스 뉴스레터

이번 주 AI, 딱 쓸 것만

매주 월요일 오후,
읽고 바로 써먹을 AI 소식만