파이썬 셀레니움으로 매일 반복하던 업무 자동화하기

파이썬 셀레니움을 활용해 반복 업무를 자동화하고 주당 10시간을 절약하는 실전 가이드입니다. 브라우저 자동화의 핵심 원리와 주의사항을 확인하세요.

이재호6 min read

파이썬 셀레니움으로 매일 반복하던 업무 자동화하기

매주 월요일 아침, 팀장님이 요청하는 주간 보고서를 만드는 데 2시간이 걸렸습니다. 매번 사이트에 접속해 데이터를 긁어오고 엑셀에 옮겨 담는 단순 작업이었죠. Python Selenium을 활용해 브라우저 자동화를 구축하고 나서는 이 시간이 0분으로 줄었습니다. 초기 세팅에 4시간 정도 투자했지만, 결과적으로 매주 2시간씩 총 10시간 이상의 반복 업무를 제거했습니다. 비단 보고서뿐만 아니라 웹 기반의 많은 작업이 자동화의 대상이 됩니다.

웹 브라우저 자동화의 핵심 원리

웹 자동화는 사람이 마우스와 키보드로 수행하는 동작을 코드로 재현하는 방식입니다. 웹 드라이버를 통해 브라우저를 제어하며, 크롬 드라이버를 주로 활용해 동적 웹페이지 크롤링을 수행합니다.

웹 드라이버와 브라우저 제어

웹 드라이버는 코드가 실제 브라우저를 조종할 수 있게 해주는 가교 역할을 합니다. 크롬 드라이버를 설치하고 나면, 파이썬 코드를 통해 특정 웹사이트에 접속하고 버튼을 클릭하는 등의 동작을 수행할 수 있습니다.

자동화는 단순히 코드를 짜는 것이 아니라, 우리가 매일 수행하는 비효율적인 업무 프로세스를 분석하고 이를 시스템으로 대체하는 과정입니다.

요소 선택의 기술: XPath와 CSS Selector

데이터 스크래핑을 하려면 원하는 정보가 어디 있는지 정확히 집어내야 합니다. 이때 XPath 선택자나 CSS Selector를 활용하는데, 페이지 구조가 바뀌어도 에러가 나지 않도록 고유한 속성을 찾아내는 것이 중요합니다.

실전 자동화 구축 시 주의사항

This image provides visual context for the discussed subject matter.

자동화를 구현할 때는 단순히 코드가 돌아가는 것보다 에러 핸들링과 안정적인 워크플로우 설계가 훨씬 중요합니다. 예상치 못한 팝업이나 네트워크 지연에 대비해야 합니다.

대기 시간 관리: Implicit vs Explicit Wait

데이터가 로딩되기 전에 코드가 먼저 실행되면 에러가 발생합니다. Implicit Wait는 전체적인 대기 시간을 설정하는 방식이며, Explicit Wait는 특정 요소가 나타날 때까지 기다리는 정교한 방식입니다. 저는 주로 Explicit Wait를 사용하여 불필요한 대기 시간을 줄입니다.

헤드리스 모드와 리소스 절감

브라우저를 직접 띄우지 않고 백그라운드에서 실행하는 헤드리스 모드를 사용하면 리소스를 아낄 수 있습니다. 서버 환경에서 RPA 도입을 고려한다면 필수적인 기능입니다.

자동화 도구의 선택과 운영

This image provides visual context for the discussed subject matter.

셀레니움은 강력하지만, 모든 업무를 코드로만 해결할 필요는 없습니다. Zapier나 Make, n8n과 같은 노코드 툴과 적절히 연동하는 것이 비용 대비 성능을 높이는 길입니다.

API 호출이 가능한 서비스라면 굳이 셀레니움을 쓰지 않고 n8n 노드나 Make 연동을 통해 더 가볍게 워크플로우를 만들 수 있습니다. 파이썬은 API가 제공되지 않는 폐쇄적인 웹사이트를 다룰 때 최후의 수단으로 활용하는 것이 좋습니다. 무료 플랜을 사용하는 경우 API 호출 횟수나 오퍼레이션 제한이 있으므로, 에러 재시도 로직을 설계할 때 주의해야 합니다. 월 1,000 오퍼레이션 제한이 있는 무료 플랜에서 에러가 반복되면 며칠 만에 한도를 모두 소진할 수 있습니다.

결국 자동화는 여러분의 시간을 되찾아주는 투자입니다. 처음에는 어렵게 느껴질 수 있지만, 작은 반복 업무 하나부터 파이썬으로 자동화해보세요. 그 쾌감이 다음 업무 자동화를 시작하게 하는 원동력이 될 것입니다.

출처

  1. 인프런 Selenium 기본 과정

이재호

Zapier, Make 활용 100개 이상 워크플로우 구축. 반복 업무 자동화로 주 10시간 이상 절약 중.