Selenium VBA 엑셀 튜토리얼 (크롬 웹 스크래핑)ping)

⚡ 스마트 요약

Selenium Excel의 VBA는 자동화 기능을 제공합니다. Google Chrome HTML 웹 페이지에서 데이터를 추출하려면 다음을 사용하세요. Selenium 웹사이트를 열고, 클래스와 태그를 이용해 테이블 ​​요소를 찾고, 그 결과를 워크시트 셀에 쓰는 데 사용할 수 있는 타입 라이브러리와 WebDriver 메서드입니다.

  • 🧰 Selenium 웹드라이버: VBA는 다음을 사용합니다. Selenium 타입 라이브러리를 구동합니다. Google Chrome 스크래핑용ping.
  • 📚 타입 라이브러리: The Selenium WebDriver 객체를 선언하기 전에 먼저 형식 라이브러리를 참조해야 합니다.
  • 🚀 시작하고 얻으세요: Start 메서드는 Chrome을 열고 Get 메서드는 대상 웹사이트를 로드합니다. URL.
  • 🔎 요소 위치 찾기: FindElementByClass와 FindElementsByTag는 테이블 헤더와 데이터 셀을 찾습니다.
  • 📊 세포에 쓰기: 중첩된 For Each 루프는 헤더와 행 값을 워크시트 셀에 기록합니다.
  • 🤖 AI 지원: AI 보조 조종사는 작성, 디버깅 및 유지 관리를 지원합니다. Selenium 사이트 변경에 따라 VBA 스크립트를 수정합니다.

Selenium VBA 엑셀 튜토리얼

데이터 스크래핑이란 무엇인가요?ping 사용 Selenium?

Selenium 스크래핑을 용이하게 하는 자동화 도구입니다.ping HTML 웹 페이지에서 정보를 추출하고 웹 스크래핑을 수행합니다.ping 과 Google Chrome엑셀에서는 Selenium 이 형식 라이브러리를 사용하면 VBA가 더 이상 사용되지 않는 인터넷 익스플로러 엔진 대신 실제 브라우저를 제어할 수 있습니다.

데이터 스크래핑 전에 엑셀 매크로를 준비하는 방법ping 사용 Selenium

데이터 스크래핑을 시작하기 전에 Excel 매크로 파일에서 수행해야 하는 몇 가지 사전 요구 사항이 있습니다.ping 프로세스.

필수 조건은 다음과 같습니다.

단계 1) 엑셀 기반 매크로를 열고 엑셀의 개발자 옵션에 액세스합니다.

데이터 스크래핑 전에 엑셀 매크로를 준비하세요ping 사용 Selenium

단계 2) 개발자 리본 메뉴에서 Visual Basic 옵션을 선택하세요.

데이터 스크래핑 전에 엑셀 매크로를 준비하세요ping 사용 Selenium

단계 3) 새 모듈을 삽입합니다.

데이터 스크래핑 전에 엑셀 매크로를 준비하세요ping 사용 Selenium

단계 4) 새로운 서브루틴을 초기화하고 test2라는 이름을 지정합니다.

Sub test2()
End Sub

모듈의 결과는 다음과 같습니다.

데이터 스크래핑 전에 엑셀 매크로를 준비하세요ping 사용 Selenium

단계 5) 도구 탭에서 참조 옵션에 액세스하여 참조하십시오. Selenium 타입 라이브러리. 이 라이브러리는 오픈 소스 환경을 지원합니다. Google Chrome 또한 매크로 스크립팅을 용이하게 합니다.

참조 Selenium Excel VBA의 형식 라이브러리

이제 엑셀 파일이 브라우저와 상호 작용할 준비가 되었습니다. 다음 단계는 데이터 스크래핑을 용이하게 하는 매크로 스크립트를 통합하는 것입니다.ping HTML 형식으로.

여는 방법 Google Chrome VBA 사용

여는 방법은 다음과 같습니다. Google Chrome VBA를 사용하여.

단계 1) 아래와 같이 서브루틴 내의 변수를 선언하고 초기화하십시오.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer

단계 2) 열기 위해 Google Chrome 사용 Selenium VBA를 사용하여 드라이버를 작성합니다. "Chrome"을 시작하고 F5 키를 누릅니다.

코드는 다음과 같습니다.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
Application.Wait Now + TimeValue("00:00:20")
End Sub

해당 모듈의 결과는 다음과 같습니다.

엽니다 Google Chrome VBA를 사용하여

웹사이트를 여는 방법 Google Chrome VBA 사용

일단 접속할 수 있게 되면 Google Chrome VBA를 사용하여 다음 단계는 VBA를 통해 웹사이트에 접근하는 것입니다. 이는 Get 함수를 통해 가능하며, 이 함수에서는 URL 큰따옴표로 묶어서 전달합니다.

해당 모듈은 다음과 같습니다.

웹사이트 열기 Google Chrome VBA를 사용하여

F5 키를 눌러 매크로를 실행하세요. 다음 웹페이지가 열립니다. Google Chrome 표시된 대로.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
driver.Start "Chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
Application.Wait Now + TimeValue("00:00:20")
End Sub

웹사이트 열기 Google Chrome VBA를 사용하여

이제 엑셀 매크로가 스크래핑 작업을 수행할 준비가 되었습니다.ping 작업. 다음 단계에서는 정보가 어떻게 활용될 수 있는지 보여줍니다.trac테드는 지원함으로써 Selenium 그리고 VBA.

VBA를 사용하여 웹사이트에서 정보를 추출하는 방법

데이 트레이더가 웹사이트에서 매일 데이터를 확인하고 싶다고 가정해 보겠습니다. 데이 트레이더가 버튼을 클릭할 때마다 시장 데이터가 자동으로 엑셀로 가져와져야 합니다.

위 웹사이트에서 요소를 검사하고 데이터 구조를 살펴보려면 Ctrl + Ctrl 키를 누르세요. 아래 HTML 소스 코드를 보려면 Ctrl + Ctrl 키를 누르세요. Shift + 나.

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

보시는 바와 같이 데이터는 단일 HTML 테이블 구조로 되어 있습니다. 따라서 HTML 테이블에서 전체 데이터를 추출하려면 헤더 정보와 테이블과 관련된 해당 데이터를 추출하는 매크로를 설계해야 합니다. 아래 작업을 수행하십시오.

단계 1) HTML 헤더 정보를 컬렉션으로 받아 순회하는 for 루프를 작성하세요. Selenium 드라이버는 그림과 같이 FindElementByClass() 및 FindElementByTag() 메서드를 사용하여 헤더 정보를 찾습니다.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th

단계 2) 다음으로 Selenium 드라이버는 비슷한 접근 방식을 사용하여 테이블 데이터를 찾습니다. 다음 코드를 작성하세요.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

Excel은 시트의 Range 속성 또는 Cells 속성을 사용하여 초기화할 수 있습니다. VBA 스크립트의 복잡성을 줄이기 위해 컬렉션 데이터는 통합 문서의 2번 시트의 Cells 속성으로 초기화됩니다. Text 속성을 사용하면 텍스트를 HTML 태그 아래에 배치할 수 있습니다.

Sub test2()
Dim driver As New WebDriver
Dim rowc, cc, columnC As Integer
rowc = 2
Application.ScreenUpdating = False
driver.Start "chrome"
driver.Get "https://demo.guru99.com/test/web-table-element.php"
For Each th In driver.FindElementByClass("dataTable").FindElementByTag("thead").FindElementsByTag("tr")
cc = 1
For Each t In th.FindElementsByTag("th")
Sheet2.Cells(1, cc).Value = t.Text
cc = cc + 1
Next t
Next th
For Each tr In driver.FindElementByClass("dataTable").FindElementByTag("tbody").FindElementsByTag("tr")
columnC = 1
For Each td In tr.FindElementsByTag("td")
Sheet2.Cells(rowc, columnC).Value = td.Text
columnC = columnC + 1
Next td
rowc = rowc + 1
Next tr
Application.Wait Now + TimeValue("00:00:20")
End Sub

VBA 모듈은 다음과 같습니다.

VBA를 사용하여 웹사이트에서 정보 스크랩

단계 3) 매크로 스크립트가 준비되면 서브루틴을 Excel 단추에 할당하고 VBA 모듈을 종료합니다. 단추 이름을 새로 고침(Refresh) 또는 적절한 이름으로 지정합니다. 이 예에서는 단추 이름을 새로 고침(Refresh)으로 지정했습니다.

VBA를 사용하여 웹사이트에서 정보 스크랩

단계 4) 아래와 같은 결과를 보려면 새로고침 버튼을 누르세요.

VBA를 사용하여 웹사이트에서 정보 스크랩

단계 5) 엑셀에서 얻은 결과와 실제 결과를 비교하세요. Google Chrome.

VBA를 사용하여 웹사이트에서 정보 스크랩

자주 묻는 질문

엑셀에는 다음이 필요합니다. Selenium 타입 라이브러리는 다음을 통해 설치됩니다. SeleniumBasic 라이브러리는 VBA 편집기의 도구 > 참조에서 찾을 수 있습니다. 이 라이브러리는 웹드라이버 객체와 Start, Get, FindElementByClass와 같은 메서드를 제공하여 브라우저 자동화에 사용됩니다.

Selenium VBA는 구동할 수 있습니다 Google Chrome, 모질라 Firefox, Microsoft EdgeChrome을 비롯한 다양한 브라우저가 있습니다. 각 브라우저에는 해당 브라우저에 맞는 WebDriver가 필요하며, 동일한 VBA 코드를 사용하여 최소한의 수정만으로 브라우저를 전환할 수 있습니다.

The 인터넷 익스플로러 방식 HTML 객체 라이브러리를 사용하며, 더 이상 사용되지 않는 IE에서만 작동합니다. Selenium 크롬과 같은 최신 브라우저를 구동하며, 다양한 브라우저를 지원하고 더욱 안정적인 요소 위치 파악 기능을 제공합니다.

네. AI 부조종사는 생성할 수 있습니다. Selenium 설명을 기반으로 VBA 코드를 생성하고, 요소 로케이터를 제안하며, 오류 디버깅을 지원합니다. 웹사이트가 변경될 경우, AI는 업데이트된 선택자를 제안하여 스크랩 유지 관리에 필요한 수동 작업을 줄여줍니다.ping 매크로.

AI는 지능형 요소 감지, 자연어 명령, 자체 복구 로케이터 기능을 브라우저 자동화에 추가합니다. 이러한 머신 러닝 기능을 통해 도구는 레이아웃 변경에 자동으로 적응하여 스크래핑 작업을 간소화합니다.ping 또한, 고정된 하드코딩 스크립트보다 테스트 안정성이 훨씬 뛰어납니다.

이 게시물을 요약하면 다음과 같습니다.