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

티스토리 자동화를 위한 크롬 확장 프로그램 제작기: 셀레니움 대체 가능할까?

print() 2025. 5. 24. 22:29
300x250

 

블로그 자동화 작업을 하면서 셀레니움의 무거움과 인증 문제에 부딪히는 일이 많았다. 이에 따라 셀레니움을 대체할 방법을 고민했고, 그중 하나가 바로 크롬 확장 프로그램을 직접 만드는 방식이다.

크롬 확장 프로그램은 브라우저 환경 내에서 지속적으로 실행되며, 로그인 세션을 유지한 상태로 DOM을 자유롭게 조작할 수 있다는 장점이 있다. 따라서 티스토리 글쓰기 자동화에도 활용 가능성이 매우 크다.


1️⃣ 크롬 확장 프로그램의 구조 이해

  • manifest.json: 확장의 메타 정보 및 권한 설정
  • content.js: 브라우저 페이지에서 실행되는 스크립트
  • background.js: 이벤트 관리나 백그라운드 로직 처리용
  • popup.html/js: 확장 클릭 시 나타나는 UI

2️⃣ 티스토리 자동화를 위한 기본 구현 예시

manifest.json

{
  "manifest_version": 3,
  "name": "Tistory Auto Writer",
  "version": "1.0",
  "permissions": ["scripting", "tabs"],
  "content_scripts": [
    {
      "matches": ["https://*.tistory.com/manage/newpost/*"],
      "js": ["content.js"]
    }
  ],
  "action": {
    "default_popup": "popup.html"
  }
}

 

content.js

window.addEventListener('load', () => {
  const title = document.querySelector("input[placeholder='제목을 입력하세요']");
  const content = document.querySelector("div[contenteditable='true']");
  if (title && content) {
    title.value = "확장 프로그램으로 자동 입력된 제목";
    content.innerText = "이 글은 크롬 확장 프로그램을 통해 자동으로 작성되었습니다.";
  }
});

3️⃣ 확장 프로그램의 장점

  • 브라우저 세션 유지 → 로그인 유지 상태에서 동작 가능
  • 가볍고 빠른 실행 → 셀레니움 대비 로딩 속도 빠름
  • 자동으로 페이지에 스크립트 삽입 가능

4️⃣ 단점 및 고려사항

  • 보안 정책 강화 시 특정 요소 접근 제한될 수 있음
  • 에디터 iframe 구조 변경 시 자동화 코드 깨질 수 있음
  • 크롬 업데이트에 따라 권한 및 manifest 버전 변경 필요

5️⃣ 개발 시 팁

  • Developer Mode에서 테스트 → chrome://extensions에서 압축 해제된 확장 설치
  • 에러 로그는 DevTools console에서 확인
  • popup.html에 실행 버튼 추가 시 수동 컨트롤도 가능함

 

300x250