프로젝트/블로그 자동화 프로그램

Selenium 없이 티스토리 자동 글쓰기? JavaScript로 가능한가?

print() 2025. 5. 19. 14:43
300x250

 

블로그 자동화를 위해 셀레니움(Selenium)을 이용한 접근법은 널리 사용된다. 하지만 웹드라이버 설정, 크롬 브라우저 버전 이슈, 로그인 인증 등 여러 복잡한 요소로 인해 유지 관리가 번거로울 수 있다. 이런 상황에서 떠오르는 아이디어는: “굳이 셀레니움을 써야 할까?”이다.


1️⃣ 왜 JavaScript 자동화를 고려했는가?

셀레니움 기반 자동화는 실제 브라우저를 구동하는 방식이라 무겁고 속도가 느리며 인증 절차를 우회하기 어렵다. 반면 JavaScript는 웹페이지 내부에서 직접 DOM 조작이 가능해, 브라우저 내부 콘솔이나 확장 프로그램을 통해 가볍게 자동화가 가능하다.


2️⃣ 티스토리에서 JS 자동화가 가능한 영역

  • 글쓰기 페이지에서 제목, 내용 입력란은 document.querySelector로 쉽게 접근 가능
  • 예시:
document.querySelector("input[placeholder='제목을 입력하세요']").value = "자동 작성된 제목";
document.querySelector("div[contenteditable='true']").innerText = "본문 내용 자동 입력";
  • 에디터 내부에 iframe이 있을 경우:
const iframe = document.querySelector("iframe");
const innerDoc = iframe.contentDocument || iframe.contentWindow.document;
innerDoc.body.innerHTML = "여기에 본문 작성";

3️⃣ 문제점과 한계

  • 자동 저장/발행 버튼 클릭이 보안 정책으로 인해 막혀 있을 수 있음
  • iframe 내부 구조가 자주 바뀌기 때문에 JS 셀렉터가 자주 깨짐
  • 크로스 도메인 정책으로 인해 확장 프로그램이 아닌 일반 JS에서는 iframe 내부 접근이 막힐 수도 있음
  • 로그인 상태가 유지되어 있어야만 작동함 (쿠키 활용 필요)

4️⃣ 대체 자동화 방법 요약

 

방식 장점 단점
Selenium 정확한 제어, 강력한 기능 느림, 복잡함, 인증 이슈
JS 콘솔 빠름, 간단함 구조 변화에 취약, 클릭 자동화 제한
브라우저 확장 프로그램 쿠키·세션 유지 쉬움 개발 난이도 높음

5️⃣ 마무리 실험

Chrome 개발자 도구(F12) → Console 탭에서 아래 명령어로 테스트해 볼 수 있다:

document.querySelector("input[placeholder='제목을 입력하세요']").value = "JS로 입력한 제목입니다.";
 

이후 자동 저장 버튼을 수동으로 눌러도 입력값은 그대로 유지된다.

 

300x250