본문 바로가기
💻 IT, AI 최신 동향

플레이라이트를 이용한 티스토리 자동 포스팅 테스트

by autoblogger 2026. 7. 4.

플레이라이트(Playwright)를 이용한 티스토리 자동 포스팅 테스트 후기

안녕하세요! 오늘은 블로그 운영자라면 누구나 한 번쯤 꿈꿔보았을 '블로그 자동화(Blog Automation)'에 대한 기술적인 이야기를 조금 해보려고 합니다.

매일 꾸준히 양질의 글을 발행하는 것은 생각보다 엄청난 시간과 에너지가 소모됩니다. 그래서 저는 최근 구글 딥마인드의 AI 에이전트와 함께 플레이라이트(Playwright)라는 강력한 브라우저 자동화 도구를 활용해, 티스토리 포스팅을 100% 자동화하는 봇(Bot)을 개발하고 테스트해 보았습니다.

🤖 왜 셀레니움(Selenium) 대신 플레이라이트인가?

자동화 툴 하면 가장 먼저 떠오르는 것이 셀레니움입니다. 하지만 이번 프로젝트에서는 과감히 마이크로소프트에서 개발한 플레이라이트를 선택했습니다.

  • 압도적인 속도: 비동기 처리가 기본적으로 지원되어 브라우저 렌더링을 기다리는 시간이 훨씬 단축됩니다.
  • 세션(상태) 저장의 편리함: 매번 로그인할 필요 없이, 한 번 로그인한 state.json 쿠키와 세션 데이터를 저장해두고 언제든 재사용할 수 있어 로그인 풀림 현상에 유연하게 대처할 수 있습니다.
  • 강력한 선택자(Selector): 텍스트 기반, CSS, XPath 등 복잡한 웹 요소(DOM)를 훨씬 직관적으로 찾아냅니다.

⚠️ 예상치 못한 난관: 티스토리 에디터의 반란

모든 것이 순조로울 줄 알았으나, 가장 큰 복병은 티스토리의 새로운 에디터(ProseMirror) 구조였습니다. 분명히 봇이 본문 영역(iframe)을 찾아 HTML 코드를 완벽하게 주입(Injection)했고 화면에도 글이 예쁘게 떴는데, 막상 '발행' 버튼을 누르면 제목만 올라가고 본문은 텅 빈 통으로 발행되는 기현상이 발생했습니다.

원인은 티스토리 에디터 내부의 상태(State) 동기화 문제였습니다. 단순히 화면에 글자를 뿌려주는 innerHTML 조작만으로는 에디터가 '아, 글이 작성되었구나'라고 인식하지 못한 것이죠. 결국 AI 에이전트와 함께 window.tinymceProseMirror의 내부 이벤트를 강제로 발생시키고(execCommand('insertHTML') 등) 데이터를 동기화시키는 패치를 적용한 끝에 이 문제를 깔끔하게 해결해 냈습니다.

✨ 블로그 자동화, 그 무한한 가능성

단순히 글을 복사+붙여넣기 하는 매크로 수준을 넘어, 최신 트렌드를 AI가 스크랩하여 초안을 작성하고 플레이라이트가 이를 티스토리에 깔끔한 HTML 서식으로 발행하는 일련의 파이프라인이 완성되었습니다.

물론 100% 자동화된 글보다는, 이렇게 봇이 뼈대를 잡아주면 사람이 직접 마지막 검수와 따뜻한 경험담을 얹어 발행하는 '반자동(Human-in-the-loop)' 방식이 장기적인 블로그 지수 관리에 훨씬 유리할 것입니다. 블로그 운영에 지치셨다면, 여러분도 자동화 봇의 세계에 한 번 빠져보시는 건 어떨까요?