본문 바로가기
VBA/엑사남_심화방

꺼져!! 자동화 메세지 제거

by 일등미노왕국 2024. 11. 8.

 

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 등) 자동화

 

이 문서가 Selenium과 VBA를 활용한 자동화 작업에 도움이 되었기를 바란다. 추가적인 질문이 있다면 댓글로 남겨주길 바란다.

 

 

 

그럼 이만 아디오스

 

 

 

댓글