반응형
티스토리, 네이버 블로그는 openapi 서비스를 제공하지 않는다.
결국 에디터를 통해 입력을 해야 한다.
제미나이에 물어보니

플레이라이트(Playwright) 를 추천해주었다.
셀레니움은 E2E 테스트를 해봤을 때 사용을 해봤지만 플레이라이트는 생소했다.
간단한 구현 예제까지 만들어서 실행 해보니 로그인 까지는 진행이 되지만, 제목 입력 부터 되지 않았다.
문제는 제목 입력 폼 태그를 작성해줬는데 맞지 않았다. 플레이라이트를 뜨워서 제목에 해당하는 부분을 가져오려고 보니 다소 달랐다.(왜 최신으로 못따라가는거니?)
page.get_by_role("textbox", name="제목을 입력하세요").click()
page.get_by_role("textbox", name="제목을 입력하세요").fill(title)
#page.fill("#post-title-field", title)
#post-title-field 를 page.get_by_role("textbox", name="제목을 입력하세요") 로 변경 하였다.
같은 폼이 있을 땐 어떻게 나오는지 아직 알아보지는 않았다.
이런 부분들을 수정해놓고 다시 해보니 글 작성이 잘 되었다.
수행되는 참고 영상
참고 코드이다.
import time
from playwright.sync_api import sync_playwright
def auto_post_tistory():
with sync_playwright() as p:
# 이전에 저장한 auth.json 세션을 불러와 브라우저 실행
browser = p.chromium.launch(headless=False) # 과정을 보기 위해 False 설정
context = browser.new_context(storage_state="auth.json")
page = context.new_page()
# 1. 글쓰기 페이지 진입 (자신의 블로그 주소로 수정)
blog_name = "yourblogname"
page.goto(f"https://{blog_name}.tistory.com/manage/post")
page.wait_for_load_state("networkidle")
# 2. 제목 입력
title = "플레이라이트로 작성한 자동화 포스팅 테스트"
page.get_by_role("textbox", name="제목을 입력하세요").click()
page.get_by_role("textbox", name="제목을 입력하세요").fill(title)
#page.fill("#post-title-field", title)
print("제목 입력 완료")
# 3. 본문 작성 (에디터 iframe 접근)
# 티스토리 에디터는 #editor-root 안의 iframe 내부에 존재합니다.
editor_frame = page.frame_locator("#editor-root iframe")
# 실제 글이 써지는 body 영역을 찾아 클릭 후 내용 입력
content_area = editor_frame.locator("body#tinymce")
content_area.click()
content_area.fill("이 내용은 Playwright를 통해 자동으로 입력되었습니다.<br>2026년 자동화 전략의 핵심 도구입니다.")
print("본문 내용 입력 완료")
# 4. 발행 버튼 클릭
page.get_by_role("button", name="완료").click()
#page.click("button.btn_publish") # 하단 발행 버튼
time.sleep(1) # 설정 레이어 팝업 대기
# 5. 최종 발행 설정 (카테고리 선택 등 추가 가능)
# 여기서는 바로 '발행' 버튼을 누르는 것으로 진행
page.get_by_role("button", name="공개 발행").click()
print(f"포스팅 완료! 주소: {page.url}")
time.sleep(3) # 완료 화면 확인을 위해 잠시 대기
browser.close()
if __name__ == "__main__":
auto_post_tistory()
반응형
'AI > 자동화' 카테고리의 다른 글
| AI 블로그 자동화 첫 번째 (0) | 2026.01.26 |
|---|---|
| 30대, 지금 시작하는 '배당주 투자'로 경제적 자유 완성하기: 은퇴 설계 핵심 전략 (0) | 2026.01.14 |
| 아내가 미국주식으로 200만원 수익을 얻었을 경우 인적공제 대상인지? (0) | 2026.01.08 |
| Google Opal 활용하여 블로그 글 만들기 (0) | 2026.01.03 |