Selenium Hướng dẫn VBA Excel (Trình duyệt Chrome)ping)

⚡ Tóm tắt thông minh

Selenium VBA trong Excel tự động hóa Google Chrome để trích xuất dữ liệu từ các trang web HTML, sử dụng Selenium Sử dụng thư viện kiểu và các phương thức WebDriver để mở một trang web, định vị các phần tử bảng theo lớp và thẻ, và ghi kết quả vào các ô trong bảng tính.

  • 🧰 Selenium Trình điều khiển Web: VBA sử dụng Selenium thư viện kiểu để điều khiển Google Chrome cho scraping.
  • 📚 Thư viện kiểu dữ liệu: Selenium Phải tham chiếu đến thư viện kiểu trước khi có thể khai báo các đối tượng WebDriver.
  • 🚀 Bắt đầu và nhận: Phương thức Start mở trình duyệt Chrome, còn phương thức Get tải trang web mục tiêu. URL.
  • 🔎 Bộ định vị phần tử: Các phương thức FindElementByClass và FindElementsByTag tìm kiếm tiêu đề bảng và các ô dữ liệu.
  • 📊 Ghi vào ô: Một vòng lặp For Each lồng nhau ghi giá trị tiêu đề và hàng vào các ô trong bảng tính.
  • 🤖 Hỗ trợ AI: Các trợ lý AI hỗ trợ viết, gỡ lỗi và bảo trì. Selenium Các tập lệnh VBA được viết khi trang web thay đổi.

Selenium Hướng dẫn VBA Excel

Data Scra là gì?ping Sử dụng Selenium?

Selenium là một công cụ tự động hóa giúp tạo điều kiện thuận lợi cho việc càoping thu thập thông tin từ các trang web HTML, thực hiện tìm kiếm trên web.ping với Google ChromeTrong Excel, Selenium Thư viện kiểu dữ liệu cho phép VBA điều khiển một trình duyệt thực sự thay vì công cụ Internet Explorer đã lỗi thời.

Cách chuẩn bị macro Excel trước khi quét dữ liệuping Sử dụng Selenium

Có một số điều kiện tiên quyết cần phải thực hiện trên tệp macro Excel trước khi bắt đầu quá trình thu thập dữ liệu.ping quá trình.

Các điều kiện tiên quyết này như sau:

Bước 1) Mở một macro dựa trên Excel và truy cập tùy chọn Nhà phát triển của Excel.

Chuẩn bị macro Excel trước khi quét dữ liệu.ping sử dụng Selenium

Bước 2) Chọn tùy chọn Visual Basic trong dải băng Nhà phát triển.

Chuẩn bị macro Excel trước khi quét dữ liệu.ping sử dụng Selenium

Bước 3) Chèn một mô-đun mới.

Chuẩn bị macro Excel trước khi quét dữ liệu.ping sử dụng Selenium

Bước 4) Khởi tạo một chương trình con mới và đặt tên là test2.

Sub test2()
End Sub

Kết quả trong mô-đun sẽ như sau:

Chuẩn bị macro Excel trước khi quét dữ liệu.ping sử dụng Selenium

Bước 5) Truy cập tùy chọn Tham chiếu trong tab Công cụ và tham chiếu đến... Selenium Thư viện kiểu. Thư viện này giúp mở Google Chrome và hỗ trợ việc lập trình macro.

Tài liệu tham khảo Selenium Thư viện kiểu trong Excel VBA

Giờ đây, tệp Excel đã sẵn sàng để tương tác với trình duyệt. Bước tiếp theo là tích hợp một đoạn mã macro hỗ trợ việc thu thập dữ liệu.ping ở định dạng HTML.

Làm thế nào để mở Google Chrome Sử dụng VBA

Dưới đây là các bước để mở Google Chrome Sử dụng VBA.

Bước 1) Khai báo và khởi tạo các biến trong chương trình con như được hiển thị bên dưới.

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

Bước 2) Mở Google Chrome sử dụng Selenium và VBA, viết trình điều khiển. Khởi động "Chrome" và nhấn F5.

Sau đây là mã.

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

Kết quả của mô-đun sẽ như sau:

Mở Google Chrome sử dụng VBA

Cách mở một trang web trong Google Chrome Sử dụng VBA

Khi bạn có thể truy cập Google Chrome Sử dụng VBA, bước tiếp theo là truy cập một trang web bằng VBA. Điều này được thực hiện dễ dàng nhờ hàm Get, trong đó... URL được truyền dưới dạng dấu ngoặc kép.

Mô-đun sẽ có cấu trúc như sau:

Mở trang web trong Google Chrome sử dụng VBA

Nhấn phím F5 để thực thi macro. Trang web sau sẽ mở ra trong Google Chrome như hình.

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

Mở trang web trong Google Chrome sử dụng VBA

Giờ đây, macro Excel đã sẵn sàng thực hiện thao tác quét.ping các nhiệm vụ. Bước tiếp theo cho thấy cách thông tin có thể được trích xuất.tracted bằng cách áp dụng Selenium và VBA.

Cách trích xuất thông tin từ một trang web bằng VBA

Giả sử nhà giao dịch trong ngày muốn truy cập dữ liệu từ trang web mỗi ngày. Mỗi lần nhà giao dịch nhấp vào nút, dữ liệu thị trường sẽ tự động được tải vào Excel.

Từ trang web trên, cần phải kiểm tra một phần tử và quan sát cấu trúc dữ liệu. Truy cập mã nguồn HTML bên dưới bằng cách nhấn Control + Shift + Tôi.

<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>

Như bạn thấy, dữ liệu được cấu trúc dưới dạng một bảng HTML duy nhất. Do đó, để trích xuất toàn bộ dữ liệu từ bảng HTML, bạn phải thiết kế một macro để trích xuất thông tin tiêu đề và dữ liệu tương ứng liên quan đến bảng. Hãy thực hiện các bước dưới đây.

Bước 1) Hãy lập một vòng lặp For để duyệt qua thông tin tiêu đề HTML dưới dạng một tập hợp. Selenium Trình điều khiển định vị thông tin tiêu đề bằng cách sử dụng các phương thức FindElementByClass() và FindElementByTag(), như hình minh họa.

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

Bước 2) Tiếp theo, Selenium Trình điều khiển tìm kiếm dữ liệu bảng bằng cách sử dụng phương pháp tương tự. Hãy viết đoạn mã sau:

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 có thể được khởi tạo bằng thuộc tính Range hoặc thuộc tính Cells của trang tính. Để giảm độ phức tạp của kịch bản VBA, dữ liệu tập hợp được khởi tạo vào thuộc tính Cells của Trang tính 2 trong sổ làm việc. Thuộc tính Text giúp đặt văn bản vào bên trong thẻ 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

Mô-đun VBA sẽ có dạng như sau:

Quét thông tin từ trang web bằng VBA

Bước 3) Sau khi kịch bản macro đã sẵn sàng, hãy gán chương trình con cho một nút trong Excel và thoát khỏi mô-đun VBA. Đặt tên cho nút là Làm mới hoặc bất kỳ tên nào phù hợp. Trong ví dụ này, nút được đặt tên là Làm mới.

Quét thông tin từ trang web bằng VBA

Bước 4) Nhấn nút Làm mới để xem kết quả bên dưới.

Quét thông tin từ trang web bằng VBA

Bước 5) So sánh kết quả trong Excel với kết quả trong... Google Chrome.

Quét thông tin từ trang web bằng VBA

Câu Hỏi Thường Gặp

Excel cần Selenium Thư viện kiểu dữ liệu, được cài đặt thông qua SeleniumThư viện Basic, được tham chiếu trong trình soạn thảo VBA tại Tools, References. Thư viện này cung cấp đối tượng WebDriver và các phương thức như Start, Get và FindElementByClass được sử dụng để tự động hóa trình duyệt.

Selenium VBA có thể điều khiển Google Chrome, Mozila Firefox, Microsoft Edgevà Internet Explorer. Chrome là lựa chọn phổ biến nhất. Mỗi trình duyệt cần có WebDriver tương ứng, và cùng một đoạn mã VBA có thể chuyển đổi giữa các trình duyệt với những thay đổi tối thiểu.

Phương pháp Internet Explorer Sử dụng thư viện HTML Object Library và chỉ tương thích với IE, trình duyệt đã lỗi thời. Selenium Nó hỗ trợ các trình duyệt hiện đại như Chrome, cung cấp khả năng hỗ trợ nhiều trình duyệt và định vị phần tử đáng tin cậy hơn.

Đúng vậy. Phi công phụ AI có thể tạo ra Selenium Mã VBA được trích xuất từ ​​mô tả, gợi ý các bộ định vị phần tử và hỗ trợ gỡ lỗi. Khi một trang web thay đổi, AI có thể đề xuất các bộ chọn được cập nhật, giảm thiểu công sức thủ công trong việc duy trì mã nguồn.ping macro.

Trí tuệ nhân tạo (AI) bổ sung khả năng phát hiện phần tử thông minh, các lệnh bằng ngôn ngữ tự nhiên và bộ định vị tự phục hồi cho tự động hóa trình duyệt. Các tính năng học máy này cho phép các công cụ tự động thích ứng với các thay đổi bố cục, giúp việc tìm kiếm dễ dàng hơn.ping và việc kiểm thử có khả năng phục hồi tốt hơn so với các kịch bản cố định, được mã hóa cứng.

Tóm tắt bài viết này với: