엑셀 VBA 크롬 제어 (1) 셀레니움 환경 구축 및 기본 설정

이번 포스팅에서는 엑셀 VBA 크롬 제어를 위한 첫 번째 글로 셀레니움 환경 구축 및 기본 설정 방법에 대해 정리해보았습니다.

셀레니움(Selenium)은 웹 브라우저에서 자동화된 테스트를 수행하기 위해 만들어진 오픈소스 프로젝트입니다. 셀레니움은 웹 애플리케이션의 테스트를 자동화하여 개발자들이 코드의 정확성과 효율성을 빠르게 확인할 수 있도록 도와줍니다. 주로 브라우저에서의 상호작용을 테스트하기 위해 사용되며, 다양한 프로그래밍 언어(예: Java, C#, Python, Ruby 등)와 호환됩니다.

셀레니움은 2004년에 Jason Huggins가 개발하였으며, 이후 여러 버전과 구성 요소가 출시되었는데요, 셀레니움은 주로 다음과 같은 구성 요소로 구성되어 있습니다:

  1. Selenium IDE: 브라우저에서 테스트 케이스를 녹화하고 재생할 수 있는 플러그인
  2. Selenium WebDriver: 다양한 프로그래밍 언어로 작성된 스크립트를 통해 웹 브라우저를 제어할 수 있도록 해주는 APi
  3. Selenium Grid: 여러 머신 및 브라우저에서 동시에 테스트를 실행할 수 있도록 도와주는 도구

이러한 셀레니움 사용 방법에 대해서는 앞선 포스팅에서 파이썬 등을 이용한 방법으로 소개한 바 있는데요, 이번 포스팅에서는 엑셀 VBA를 사용해서 엑셀 VBA 크롬 제어/자동화 방법에 대해 정리해보려고 합니다.

이번 포스팅에서는 우선 엑셀 VBA 크롬 제어 방법 소개에 앞서, 엑셀 VBA란 무엇인지 알아보고 셀레니움 환경 구축 방법과 크롬 드라이버 설치, 그리고 .Net Framework 설치 방법에 대해 알아보았습니다.


엑셀 VBA란

엑셀 VBA(Visual Basic for Applications)는 엑셀에서 사용되는 프로그래밍 언어입니다. VBA를 사용하면 엑셀의 기본 기능을 확장하고, 반복되는 작업을 자동화하며, 사용자 지정 기능을 추가할 수 있습니다.

조금 더 이해하기 쉽게 비유를 들자면, 엑셀은 워크시트를 사용하여 데이터를 관리하는 도구이고, 이 도구를 사용하기 위한 기본 버튼과 기능이 제공됩니다. 이것은 마치 계산기와 같습니다. 기본적으로 계산기에는 더하기, 빼기, 곱하기, 나누기와 같은 기본 기능이 있습니다. 그러나 특정 작업을 수행하려면 기본 기능만으로는 부족할 수 있습니다.

이때 엑셀 VBA는 마치 계산기에 프로그램 가능한 버튼을 추가하는 것과 같습니다. 이 버튼은 사용자가 원하는 기능을 수행하도록 프로그래밍할 수 있습니다. 예를 들어, 특정 작업을 자동화하거나 원하는 기능을 추가하여 엑셀을 더 강력한 도구로 만들 수 있습니다.

VBA를 사용하면 엑셀을 단순한 스프레드시트 도구에서 데이터 처리, 분석 및 시각화를 위한 강력한 프로그램으로 바꿀 수 있습니다. 이를 통해 업무 효율성을 향상시키고 시간을 절약할 수 있습니다.


엑셀 VBA 크롬 제어를 위한 준비 도구

엑셀 VBA 크롬 제어를 위해서는 셀레니움 뿐 아니라 크롬 드라이버와 .NET Framework가 필요합니다. 셀레니움은 웹 브라우저를 제어하는 기능을 제공하며, 크롬 드라이버는 셀레니움이 크롬 브라우저와 소통할 수 있게 해주고, .NET Framework는 셀레니움 라이브러리의 일부 기능이 의존하는 플랫폼입니다.

  1. 셀레니움(Selenium) : 셀레니움은 웹 브라우저에서 자동화된 테스트를 수행하기 위한 오픈소스 프로젝트입니다. 엑셀 VBA와 함께 사용되면, 엑셀 데이터를 기반으로 웹 브라우저를 제어하고 웹 사이트의 정보를 추출하거나 조작할 수 있습니다. 셀레니움은 다양한 웹 브라우저와 호환되도록 설계되어 있으며, 각 브라우저마다 고유한 웹 드라이버가 필요합니다.
  2. 크롬 드라이버(ChromeDriver) : 크롬 드라이버는 구글 크롬 웹 브라우저를 셀레니움과 함께 사용할 수 있도록 하는 웹 드라이버입니다. 크롬 드라이버는 크롬 브라우저와 셀레니움 간의 통신을 가능하게 하여, VBA 코드를 통해 크롬 브라우저를 제어하고 웹 페이지의 정보를 가져오거나 조작할 수 있도록 합니다.
  3. .NET Framework : .NET Framework는 Windows 운영 체제에서 실행되는 소프트웨어를 개발, 배포 및 실행하기 위한 플랫폼입니다. 셀레니움을 사용할 때, 일부 라이브러리와 기능이 .NET Framework에 의존하므로, .NET Framework가 설치되어 있어야 셀레니움과 관련된 기능을 정상적으로 사용할 수 있습니다. 다만, 대부분의 Windows 운영 체제에서 기본적으로 .NET Framework가 설치되어 있으므로 별도의 설치 과정이 필요하지 않을 수 있습니다.

이 세 가지 요소가 함께 작동하여 엑셀 VBA 크롬 브라우저 자동화 또는 제어가 가능해집니다.


엑셀 VBA 크롬 제어 환경 구축 (1) 셀레니움 설치

우선 엑셀 VBA 크롬 제어 환경 구축을 위한 셀레니움 설치 방법 입니다.

Github의 셀레니움 베이직(Selenium Basic) 설치 링크를 통해 설치 파일을 다운로드 진행 합니다.

참고로 Selenium Basic은 Visual Basic for Applications (VBA)를 사용하여 Selenium WebDriver를 사용할 수 있도록 만들어진 라이브러리입니다. 이 라이브러리를 사용하면 VBA를 통해 웹 브라우저를 제어하고 웹 페이지의 요소를 조작하거나 추출할 수 있습니다. 셀레니움 베이직은 엑셀, 워드, 액세스 등 Microsoft Office 응용 프로그램에서 사용할 수 있습니다.

엑셀 VBA 크롬

설치 파일을 다운로드 받고 실행하면 “Select Components” 화면이 나타나는데요, 여기에서 엑셀 VBA 크롬 제어를 위한 “Webdriver for Chrome”을 선택하여 설치를 진행 합니다.

엑셀 VBA 크롬


엑셀 VBA 크롬 제어 환경 구축 (2) 크롬 웹드라이버 설치

셀레니움 설치가 끝났으면 그 다음으로 크롬에 설치된 버전에 맞는 크롬 웹드라이버를 다운 받아서 설치해야 합니다.

약간 귀찮은 부분이 크롬이 업데이트 되어서 버전 바뀌면 웹 드라이버 새로 받아야 한다는 점 입니다.

현재 사용 중인 크롬 웹 브라우저의 버전 확인 방법은 아래와 같습니다.

우선 우측 상단의 … (더보기) 메뉴를 선택한 다음 설정 > “Chrome 정보” 화면에서 아래와 같이 버전 확인이 가능합니다.

엑셀 VBA 크롬

그 다음 크롬 웹 드라이버를 다운로드 받을 수 있는 여기 링크를 통해 아래와 같이 본인의 크롬 웹 브라우저 버전에 맞는 파일을 다운로드 합니다.

엑셀 VBA 크롬

참고로 해당 zip 압축 파일을 압축해제하면 크롬드라이버.exe 파일 하나만 나타나는데요, 해당 파일을 셀레니움 베이직 폴더에 붙여넣기 해야 합니다. 해당 폴더 위치는 아래와 같스빈다.

셀레니움 베이직 폴더 경로: C:\Users\사용자명\AppData\Local\SeleniumBasic

엑셀 VBA 크롬

엑셀 VBA 크롬 제어 환경 구축 (3) .Net Framework 설치

엑셀 VBA 크롬 환경 구축 관련해서 찾아보면 많은 글들이 .NET Framework 설치 관련해서 안내를 빼놓는 경우가 많은데요,

셀레니움을 사용할 때, 일부 라이브러리와 기능이 .NET Framework에 의존하므로, .NET Framework가 설치되어 있어야 셀레니움과 관련된 기능을 정상적으로 사용할 수 있습니다.

(물론 Windows 운영 체제에서 기본적으로 .NET Framework가 설치되어 있으므로 별도의 설치 과정이 필요하지 않을 수 있습니다.) 설치가 필요하다면 여기 링크를 통해 해당 파일을 다운로드 받아 설치합니다.

엑셀 VBA 크롬

위와 같이 3가지 요소 설치가 완료되면 엑셀 VBA 크롬 제어가 가능해집니다.

이번 포스팅에서는 우선 엑셀 VBA 크롬 제어 방법 소개에 앞서, 엑셀 VBA란 무엇인지 알아보고 셀레니움 환경 구축 방법과 크롬 드라이버 설치, 그리고 .Net Framework 설치 방법에 대해 알아보았습니다.

다음 포스팅에서는 엑셀 VBA 기초 설정 방법과 함께 엑셀 VBA 크롬 제어 방법에 대해 네이버 자동 로그인을 예시로 설명할 예정입니다.


앞선 포스팅에서 정리한 셀레니움 관련 글은 아래와 같습니다.

셀레늄, 셀레니움 문법 변경 및 에러 해결 3초 끝내기 (AttributeError 에러 해결)

파이썬 웹자동화 (3) 셀레니움 화면조작 : 입력, 클릭 및 선택 방법 (웹 자동로그인, 자동검색)

Leave a Comment