🔐 1. 카카오 로그인 자동화
티스토리는 대부분 카카오 계정으로 로그인합니다. Open API가 없으니 브라우저를 직접 조작해야 합니다.
page.goto("https://www.tistory.com/auth/login")
page.click("a.btn_kakao")
page.fill("#loginId--1", email)
page.fill("#password--2", password)
page.click("button.btn_g.highlight")
page.wait_for_load_state("networkidle")
2단계 인증이 설정된 계정은 쿠키를 저장해 재사용하는 방식으로 처리했습니다. 한 번만 수동 로그인하면 이후에는 ~/.tistory_cookies.json을 자동으로 불러옵니다.
📝 2. 에디터 자동 감지
티스토리 에디터는 세 가지 방식이 혼재합니다. 어떤 에디터가 로드될지 모르기 때문에 순서대로 시도하는 자동 감지 로직을 만들었습니다.
def detect_and_fill_editor(page, html_content):
# 1순위: iframe 에디터 (TinyMCE)
try:
frame = page.frame("editor-tistory_ifr")
frame.evaluate(f'document.body.innerHTML = `{html_content}`')
return True
except: pass
# 2순위: textarea 에디터
try:
page.locator("textarea#content").fill(html_content)
return True
except: pass
# 3순위: contenteditable (ProseMirror)
try:
editor = page.locator(".ProseMirror").first
editor.evaluate(f'(el) => {{ el.innerHTML = `{html_content}` }}')
return True
except: pass
🚀 3. 발행까지 전체 파이프라인
- 제목 입력 →
#post-title-inp - 카테고리 선택 →
.category-btn - 내용 입력 → 에디터 자동 감지
- 태그 입력 →
#tagText에 하나씩 Enter - 발행 버튼 클릭 →
button:has-text('발행')
각 단계마다 스크린샷을 저장해 문제 발생 시 디버깅이 쉽도록 했습니다.
다음 편에서는 실제 실행 결과와 발견한 한계점을 공유합니다.
'개인 개발 > 티스토리 자동화 claude code skills 만들기' 카테고리의 다른 글
| Claude 스킬로 티스토리 자동 포스팅 만들기 [3편] — 결과와 회고 (0) | 2026.04.24 |
|---|---|
| Claude 스킬로 티스토리 자동 포스팅 만들기 [1편] — 기획과 구조 (0) | 2026.04.24 |