본문 바로가기
SELENIUM/VBA

[VBA] 셀레니움(selenium) 설치 및 예제

by 에버리치60 2023. 12. 22.

윈도우에서 엑셀(VBA)를 이용한 자동화를 구현하기 위하여 셀레니움을 설치하고 간단한 예를 살펴보자

VBA매크로 프로그램을 이용하여 엑셀과 크롬,엣지,파이어폭스등 웹브라우저를 제어하여 웹 업무를 자동화할 수 있다.

1. 셀레니움(seleniumbasic) 설치

 

Selenium Basic은 VBA와 같은 외부 프로그램에서 Chrome, Edge, FireFox 등을 제어하는 ​​라이브러리입니다.

아래 링크를 클릭하여 설치한다.

https://github.com/florentbr/SeleniumBasic/releases/download/v2.0.9.0/SeleniumBasic-2.0.9.0.exe

 

 
 
 
 
 

 

 

 

 

2. 크롬(Chrome) 브라우저 버전과 크롬드라이버 버전 일치

2-1. 사용 중인 Chrome 버전 확인( chrome://settings/help )

 

 

2-2. 브라우저 버전과 앞 세자리가 일치한 드라이버 다운한다.

https://googlechromelabs.github.io/chrome-for-testing/

 

 

 

2-3 크롬 드라이버를 seleniumbasic 폴더에 덮어쓰기 한다.

 

 

 

2-4. 엑셀을 실행한후 ALT+F11 을 눌러 VBA창에서 도구->참조 에서

Selenium Type Library 체크

 
 

3. yes24에서 엑셀 을 검색하여 시트(셀)에 가져오기

 

yes24 사이트에서 "엑셀" 을 검색하여 시트에 가져오기

Option Explicit
Sub test21()
    Dim elmDoc As WebElement
    Dim y As Integer
    
    Set Sel = New Selenium.ChromeDriver
    With Sel
     
        .Start
         
        '.Window.SetSize 1920, 1080
     
        .Get "https://www.yes24.com/"
     
        '검색 ID
        .FindElementById("query").SendKeys "엑셀" & vbCrLf
     
        '검색된 목록 <ul id="yesSchList"~~
        y = 1
        For Each elmDoc In .FindElementById("yesSchList").FindElementsByTag("li")
             
            Cells(y, 1) = elmDoc.FindElementByClass("gd_name").Text    '도서명
            Cells(y, 2) = elmDoc.FindElementByClass("yes_b").Text      '가격
            y = y + 1
        
        Next
                
    End With
    
End Sub
 
 

 

4. 샘플 실행시 오류 대처

출처 입력

실행시 드라이브 오류가 나면 .Net Fremework 3.5가 설치되지 않았기 때문 이므로 아래 크릭하여 설치 후 다시 실행 해보시기 바랍니다.

https://www.microsoft.com/en-us/download/details.aspx?id=21