![]()
SeleniumBasic 설치
Selenium을 VBA에서 활용하기 위해서는 먼저 SeleniumBasic을 설치해야 합니다. SeleniumBasic은 Selenium을 VBA 환경에서 작동할 수 있도록 만들어주는 툴입니다.
이 툴을 설치하기 위해서는 아래의 단계를 따르면 됩니다.- SeleniumBasic 다운로드: SeleniumBasic GitHub 페이지에서 최신 버전을 다운로드합니다.
- 설치 실행: 다운로드한 파일을 실행하여 설치합니다. 설치 과정에서 특별한 설정이 필요 없으며, 기본 옵션으로 진행하시면 됩니다.
- 참조 추가: 엑셀에서 VBA 창을 열고, ‘도구’ 메뉴에서 ‘참조’를 클릭하여 Selenium Type Library를 체크한 후 확인 버튼을 누릅니다.
SeleniumBasic 설치 과정 요약
| 단계 | 설명 |
|---|---|
| 1. 다운로드 | SeleniumBasic GitHub 페이지에서 다운로드 |
| 2. 설치 | 다운로드한 파일을 실행하여 설치 |
| 3. 참조 추가 | VBA에서 '도구' > '참조'에서 Selenium Type Library 체크 |
이렇게 설치가 완료되면, VBA에서 Selenium을 사용할 준비가 끝났습니다.
ChromeDriver 설치
Selenium을 통해 웹 브라우저를 자동으로 조작하기 위해서는 ChromeDriver가 필요합니다. ChromeDriver는 Chrome이 Selenium의 명령을 올바르게 수행할 수 있도록 돕는 드라이버입니다.
ChromeDriver는 사용 중인 Chrome의 버전과 일치해야 하므로, 다음 단계를 따라 설치하시면 됩니다.- Chrome 버전 확인: Chrome의 우측 상단에 있는 ... 아이콘을 클릭한 후, ‘도움말’ > ‘Chrome 정보’를 선택합니다. 여기에서 현재 설치된 Chrome의 버전을 확인합니다.
- ChromeDriver 다운로드: ChromeDriver 다운로드 페이지에 접속하여 자신의 Chrome 버전에 맞는 ChromeDriver를 다운로드합니다.
- 압축 해제 및 파일 위치 설정:
- 파일 탐색기를 열고 주소창에
%appdata%를 입력하여 해당 디렉토리로 이동합니다. - 상위 디렉토리(appdata)로 이동한 후, Local 디렉토리로 들어갑니다.
- local 디렉토리의 SeleniumBasic 폴더로 이동하여 다운로드한 ChromeDriver 파일을 여기에 압축 해제하여 넣습니다.
ChromeDriver 설치 과정 요약
| 단계 | 설명 |
|---|---|
| 1. Chrome 버전 확인 | Chrome 정보에서 현재 버전 확인 |
| 2. 다운로드 | ChromeDriver 다운로드 페이지에서 다운로드 |
| 3. 파일 위치 설정 | %appdata% 내 SeleniumBasic 폴더에 압축 해제 |
ChromeDriver 설치가 완료되면, 이제 VBA에서 Selenium을 통해 브라우저를 제어할 준비가 되었습니다.
Selenium을 활용한 기본 코드 작성
이제 Selenium과 ChromeDriver 설치가 완료되었으니, VBA를 통해 실제로 브라우저를 여는 기본 코드를 작성해 보겠습니다. 아래의 코드는 네이버 웹사이트를 열고, 브라우저 창을 최대화하는 간단한 예제입니다.
```vba Sub seleniums_TEST() Static sel As New WebDriver Set sel = New ChromeDriver
sel.Start "chrome"
sel.Get "https://www.naver.com"
sel.Window.Maximize
sel.Wait (2000)
sel.Quit
End Sub ```
코드 설명
| 요소 | 설명 |
|---|---|
| Static sel As New WebDriver | sel 변수를 정적(static)으로 선언하여 모든 서브가 종료 후에도 유지되게 함. |
| Set sel = New ChromeDriver | sel 변수를 ChromeDriver로 초기화. |
| sel.Start "chrome" | Chrome 브라우저를 실행. |
| sel.Get "https://www.naver.com" | 주어진 URL로 이동. |
| sel.Window.Maximize | 브라우저 창을 최대화. |
| sel.Wait (2000) | 2초 동안 대기. |
| sel.Quit | 브라우저를 종료. |
이 코드를 VBA 모듈에 붙여넣고 실행하면, 네이버 웹사이트가 열리고 최대화된 상태로 표시됩니다. 이처럼 Selenium을 활용하면 웹사이트를 자동으로 열고 조작하는 것이 가능합니다.
웹사이트 요소 조작하기
이제 Selenium을 통해 웹사이트를 열 수 있게 되었으니, 특정 웹사이트의 요소를 조작하는 방법을 알아보겠습니다. 예를 들어, 네이버의 검색창에 키워드를 입력하고 검색 버튼을 클릭하는 과정을 구현해 보겠습니다.
아래는 네이버에서 "셀레니움"이라는 키워드를 검색하는 코드입니다.```vba Sub search_naver() Static sel As New WebDriver Set sel = New ChromeDriver
sel.Start "chrome"
sel.Get "https://www.naver.com"
sel.Window.Maximize
sel.Wait (2000)
sel.FindElementByCss("#query").SendKeys "셀레니움" ' 검색어 입력
sel.FindElementByCss(".btn_search").Click ' 검색 버튼 클릭
sel.Wait (5000) ' 검색 결과 대기
sel.Quit
End Sub ```
코드 설명
| 요소 | 설명 |
|---|---|
| sel.FindElementByCss("#query").SendKeys "셀레니움" | 검색창에 "셀레니움"이라는 키워드를 입력. |
| sel.FindElementByCss(".btn_search").Click | 검색 버튼을 클릭하여 검색 수행. |
| sel.Wait (5000) | 검색 결과를 보기 위해 5초 대기. |
| sel.Quit | 브라우저를 종료. |
이 코드를 통해 사용자는 네이버의 검색창에 원하는 키워드를 입력하고, 검색 버튼을 클릭하여 검색 결과 페이지로 이동할 수 있습니다. 이처럼 Selenium은 웹사이트의 다양한 요소를 손쉽게 조작하는 데 매우 유용합니다.
결론
VBA를 활용한 Selenium 자동화는 웹 데이터 수집, 테스트 자동화 등 여러 가지 활용 가능성을 가지고 있습니다. 이 글에서는 SeleniumBasic과 ChromeDriver 설치 방법, 기본적인 코드 작성법, 웹사이트 요소 조작 방법에 대해 자세히 설명하였습니다.
앞으로 추가적인 기능을 활용하여 더욱 다양한 자동화 작업을 진행할 수 있을 것입니다. 이제 VBA와 Selenium을 통해 여러분의 업무를 자동화하고, 시간을 절약하는 데 적극 활용해 보시기 바랍니다.다음 포스팅에서는 더 복잡한 자동화 작업 및 웹사이트에서 데이터를 추출하는 방법에 대해 다룰 예정입니다. 감사합니다.