본문 바로가기
퀀트자동주식투자

엑셀 VBA에서 셀레니움(Selenium) 사용하기

by 사막장 2023. 4. 24.

엑셀은 정말정말 강력한 도구이다.

데이터베이스로도 활용할 수 있고, 

조금만 프로그래밍을 할 줄 안다면 인터넷에서 정보를 긁어오는 스크래핑(scraping) 도 가능한 툴이다.

 

이전에는 Internet Explorer 를 활용하여 웹과 연동할 수 있었는데,

Edge로 브라우저가 바뀌면서 해당 메소드가 지원되지 않는 것 처럼 보인다.

 

그래서 이제는 Selenium(셀레니움)을 활용해서 웹에 접근한다.

 

크게 단계는 다음과 같다.

1. SeleniumBasic 설치

2. ChromeDriver 설치

 

SeleniumBasic 설치

SeleniumBasic은 Selenium 을 Basic 환경, 즉 VBA 환경에서 작동할 수 있도록 만들어주는 툴이다.

아래의 링크로 들어가 Seleniumbasic-2.0.9.0 을 설치한다.

https://github.com/florentbr/SeleniumBasic/releases/tag/v2.0.9.0

 

Release SeleniumBasic v2.0.9.0 · florentbr/SeleniumBasic

CHANGELOG.txt

github.com

그리고 엑셀 VBA 화면에서 도구-참조를 클릭한다.

거기서 Selenium Type Library를 체크하고 확인을 누른다.

 

ChromeDriver 설치

다음은 ChromeDriver 설치이다. 이것은 Chrome 이 Selenium 의 뜻대로 움직일 수 있도록 도와주는 툴이다.

ChromeDriver는 버전을 맞추어 설치해주어야 한다.

우선 본인의 컴퓨터에 깔려있는 Chrome의 버전부터 확인한다.

1) Chrome의 우측 상단 종료버튼 아래에 있는 ... 아이콘을 클릭한다.

2) 도움말 - Chrome 정보 를 클릭한다.

3)  Chrome 정보에 뜨는 버전 000 을 확인한다.(현재 글을 쓰는 2023년 4월 24일의 내 컴퓨터 Chrome 버전은 112 이다.)

그리고 https://chromedriver.chromium.org/downloads 에 접속하여 버전에 맞는 ChromeDriver 를 다운받는다.

해당 다운받은 ChromeDriver는 아래의 위치에 압축을 푼다.

1) 파일탐색기를 열고 주소창에 %appdata% 를 입력하고 엔터를 누른다.

2) 나오는 디렉토리의 바로 윗단계 디렉토리(appdata) 로 이동한다.

3) appdata의 Local 디렉토리로 이동한다.

4) local 디렉토리의 SeleniumBasic 디렉토리로 이동한다.

5) 이 디렉토리에 압축을 푼 ChromeDriver를 넣어준다.(중복된 파일이 있다면 덮어씌운다.)

 

이렇게 하면 설치는 완료되었다.

이제 엑셀을 켜서 브라우저를 띄워보자.

엑셀 VBA에서 모듈을 삽입한 다음 

아래의 코드를 붙여넣고 실행하면 네이버가 실행되었다가 꺼지는 것을 볼 수 있다.

sub selenium_test()
	dim sel as New ChromeDriver
    	url = "www.naver.com"
    	sel.get url
end sub

 

다음 포스팅에서는 VBA와 Selenium을 활용해서 네이버 증권의 정보를 찾는 코드를 만들어 보겠다.

댓글