VBA Selenium으로 크롬 자동화 메시지 제거 및 웹 제어
Selenium을 VBA로 하다보면 크롬 브라우저 자동화 메시지가 생기기 때문에 잘 모르는 이들로 하여금 마치, 해킹이나 바이러스처럼 오해 아닌 오해를 불러올수 있다.
해서 이를 해결하는 코드를 공개하려고 한다..짜라잔~~
📌 기본 코드: 자동화 메시지 끄기 및 네이버 접속
아래 코드는 자동화 메시지를 제거한 후, 네이버 메인 페이지로 이동하는 기본 자동화 코드이다.
이제 저 지긋지긋한 메세지는 나락으로~~~
Sub TURNOFF_Chrome_is_being_controlled_by_automated_test_software()
Dim Mydriver As Selenium.ChromeDriver
Set Mydriver = New Selenium.ChromeDriver
' 자동화 메시지 제거 설정
Mydriver.SetCapability "goog:chromeOptions", "{""excludeSwitches"": [""enable-automation""]}"
Mydriver.AddArgument ("--start-maximized") ' 브라우저 최대화 시작
' 브라우저 시작 및 웹페이지 접속
Mydriver.Start
Mydriver.Get "https://www.naver.com"
End Sub
이 코드는 크롬 브라우저를 실행하고, 네이버 홈페이지를 자동으로 로드한다. 브라우저는 최대화된 상태로 실행되며 자동화 메시지가 표시되지 않는다
🚀 추가 기능: 네이버 자동 로그인 및 검색
이제 Selenium을 활용하여 네이버 로그인 및 검색 기능을 구현하는 확장 코드를 살펴본다
Sub Selenium_Advanced_Automation()
Dim Mydriver As Selenium.ChromeDriver
Set Mydriver = New Selenium.ChromeDriver
' 크롬 자동화 메시지 제거 및 브라우저 설정
Mydriver.SetCapability "goog:chromeOptions", "{""excludeSwitches"": [""enable-automation""]}"
Mydriver.AddArgument ("--start-maximized") ' 브라우저 최대화
' 네이버 접속
Mydriver.Start
Mydriver.Get "https://www.naver.com"
<---- 밑에는 가상의 코드로 실제로 정확한 태그명이 들어가야 한다. ---->
' 로그인 페이지로 이동
Mydriver.FindElementByCss(".link_login").Click ' 로그인 버튼 클릭
' ID 입력
Mydriver.FindElementById("id").SendKeys "your_username" ' 네이버 ID 입력
' 비밀번호 입력
Mydriver.FindElementById("pw").SendKeys "your_password" ' 네이버 비밀번호 입력
' 로그인 버튼 클릭
Mydriver.FindElementById("log.login").Click
' 검색창에 검색어 입력
Mydriver.FindElementByCss("input[name='query']").SendKeys "Selenium VBA 활용" ' 검색어 입력
Mydriver.FindElementByCss("input[name='query']").SendKeys Keys.Enter ' 엔터키 입력으로 검색 실행
End Sub
이 코드는 로그인 및 검색 기능을 자동화하여 시간을 절약하고 반복 작업을 간소화한다
💡 코드 분석
아래는 각 코드 구문에 대한 상세 설명이다
- SetCapability: "Chrome is being controlled by automated test software" 메시지를 비활성화한다
- AddArgument: 브라우저를 최대화된 상태로 실행한다
- FindElementByCss: CSS 선택자를 사용하여 특정 요소를 찾는다
- FindElementById: ID 속성을 사용하여 입력 필드나 버튼을 찾는다
- SendKeys: 입력 필드에 텍스트를 자동으로 입력한다
📊 예상 결과
이 코드를 실행하면 다음과 같은 과정이 자동으로 수행된다
- 크롬 브라우저 실행
- 네이버 메인 페이지 접속
- 로그인 페이지 이동 및 아이디, 비밀번호 자동 입력
- 검색어 입력 및 검색 결과 페이지 표시
🛠️ 응용 및 확장 아이디어
이 코드를 바탕으로 다양한 작업을 자동화할 수 있다
- 여러 웹사이트에서 데이터 크롤링 및 스크래핑
- 반복적인 로그인 작업 자동화
- 검색어 리스트를 순회하며 자동 검색 및 결과 저장
- 다른 웹사이트(Google, YouTube 등) 자동화
'VBA > 엑사남_심화방' 카테고리의 다른 글
셀레니움 내가 원하는 폴더에 다운로드하기 (4) | 2024.10.13 |
---|---|
[심화방] VBA_심화_100제 #21 [ 서울시 상권분석 크롤링 ] (0) | 2024.03.12 |
[심화방] 복잡한 태그속에서 원하는 값 가져오기 (0) | 2023.08.20 |
[심화방] VBA_심화_100제 #20 [ 복잡한 노드 제어하기 ] (0) | 2023.07.27 |
[심화방] VBA_심화_100제 #19 [ 유튜브목록 가져오기] (0) | 2023.06.13 |
댓글