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.

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.
Bước 2) Chọn tùy chọn Visual Basic trong dải băng Nhà phát triển.
Bước 3) Chèn một mô-đun mới.
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:
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.
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:
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:
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
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:
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.
Bước 4) Nhấn nút Làm mới để xem kết quả bên dưới.
Bước 5) So sánh kết quả trong Excel với kết quả trong... Google Chrome.












