VBA tương tác với Chrome mà không cần Selenium? (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Tôi tuân thủ nội quy khi đăng bài

Phonglinh0902

Thành viên mới
Tham gia
20/12/24
Bài viết
4
Được thích
0
Chào anh chị,


Trước đây, em sử dụng VBA kết hợp với Selenium để tự động hóa trình duyệt Chrome (cài đặt Chrome WebDriver + Selenium). Tuy nhiên, hiện tại Chrome đã cập nhật lên phiên bản 134.0.6998.89, trong khi Chrome WebDriver chỉ hỗ trợ tối đa phiên bản 114, dẫn đến không thể sử dụng cách này nữa.


Em đang tìm cách để VBA có thể tương tác với Chrome mà không cần cài đặt Selenium. Em đã đọc qua một số hướng dẫn về mở URL bằng VBA, nhưng phương pháp này lại không hỗ trợ thao tác như bấm nút Save.


Mong anh chị và mọi người có kinh nghiệm hỗ trợ mình hướng giải quyết phù hợp. Có cách nào tương tác khác để VBA điều khiển Chome mà không cần cài đặt thêm gì cả không ?


Cảm ơn mọi người rất nhiều!
 
Lần chỉnh sửa cuối:
Tải ứng dụng ZaloExcel về nhấn nút cập nhật Chrome là được bạn nhé, nếu biết cách, sao chép mã vào dự án của bạn mà sử dụng.
Là có thể sử dụng Selenium Basic.

Hiện tại có thể lập trình nhiều cách để điều khiển Chrome.
1. Sử dụng ChromeDevTools VBA.
2. Sử dụng WebView2 dựa trên TwinBasic.
 
Upvote 0
Tải ứng dụng ZaloExcel về nhấn nút cập nhật Chrome là được bạn nhé, nếu biết cách, sao chép mã vào dự án của bạn mà sử dụng.
Là có thể sử dụng Selenium Basic.

Hiện tại có thể lập trình nhiều cách để điều khiển Chrome.
1. Sử dụng ChromeDevTools VBA.
2. Sử dụng WebView2 dựa trên TwinBasic.
Em cảm ơn anh!

Em gửi lại link ZaloExcel cho những bạn cần
Mã:
https://www.giaiphapexcel.com/diendan/threads/zaloexcel-v2-94-gửi-tin-nhắn-hình-ảnh-bảng-biểu-đồ-tập-tin-tạo-nhóm-thu-thập-tin-nhắn.159783/page-2#posts
 
Upvote 0
Em đang tìm cách để VBA có thể tương tác với Chrome mà không cần cài đặt Selenium. Em đã đọc qua một số hướng dẫn về mở URL bằng VBA, nhưng phương pháp này lại không hỗ trợ thao tác như bấm nút Save.
Đọc xong vẫn chưa biết bạn mong muốn điều gì ?
Mở bằng VBA ?
VBA hoàn toàn có thể lập trình code để thao tác "bấm nút" bình thường nhé bạn.
PHP:
set btn = document.getElementById("btnsave")
btn.Click
 
Upvote 0
Đọc xong vẫn chưa biết bạn mong muốn điều gì ?
Mở bằng VBA ?
VBA hoàn toàn có thể lập trình code để thao tác "bấm nút" bình thường nhé bạn.
PHP:
set btn = document.getElementById("btnsave")
btn.Click

1742460820939.png
Em có một đoạn nội dung về việc nhập dữ liệu lên Google Calendar. Nhưng nếu không dùng Selenium thì mình có cách nào khác không anh? Anh chỉ giúp em với nhé!
 

File đính kèm

Upvote 0
Upvote 0
Nhưng nếu không dùng Selenium thì mình có cách nào khác không anh?
Các chính kg phải nút bấm rồi. Cái chính to rất nhiều lần là vướng vào việc xác thực của google. :D
Bữa có một topic to, cũng rùm beng vụ này.
Tiện nhất là bạn dùng Google Calendar API nhé.
Để mình tìm hiểu thêm thử.
 
Upvote 0
Các chính kg phải nút bấm rồi. Cái chính to rất nhiều lần là vướng vào việc xác thực của google. :D
Bữa có một topic to, cũng rùm beng vụ này.

Để mình tìm hiểu thêm thử.
Cách đây hơn một năm mình có chia sẻ code trên đây mà bài viết đó lạc trôi đi đâu mất rồi, bạn chịu khó tìm lại vậy.
 
Upvote 0
Em có một đoạn code không dùng Selenium nhưng vẫn tương tác với web bình thường. Mọi thứ chạy ổn, chỉ có điều là nó không tự động lưu được, em phải bấm Save thủ công. Không biết có phải em làm sai chỗ nào không nữa. Anh chị nào có kinh nghiệm giúp em với nhé! Em cảm ơn nhiều ạ

Mã:
Function URLEncodeUTF8(ByVal str As String) As String
    Dim i As Integer, char As String, utf8 As Object
    Dim byteData() As Byte
    Dim encoded As String


    Set utf8 = CreateObject("System.Text.UTF8Encoding")

    byteData = utf8.GetBytes_4(str)

    
    encoded = ""
    For i = LBound(byteData) To UBound(byteData)
        char = byteData(i)
        encoded = encoded & "%" & Right("0" & Hex(char), 2)
    Next i

    URLEncodeUTF8 = encoded
End Function
Sub OpenGoogleCalendar()
    Dim ws As Worksheet
    Dim lastRow As Integer
    Dim i As Integer
    Dim eventTitle As String, startDate As String, startTime As String
    Dim endDate As String, endTime As String, location As String, description As String
    Dim calendarURL As String
    
 
    Set ws = ThisWorkbook.Sheets("Sheet1")
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row


    For i = 2 To lastRow
    
        eventTitle = ws.Cells(i, 2).Value
        startDate = Format(ws.Cells(i, 3).Value, "YYYYMMDD")
        startTime = Format(ws.Cells(i, 4).Value - TimeValue("07:00"), "HHMM")
 
        endDate = Format(ws.Cells(i, 5).Value, "YYYYMMDD")
        endTime = Format(ws.Cells(i, 6).Value - TimeValue("07:00"), "HHMM")

        location = ws.Cells(i, 8).Value
        description = ws.Cells(i, 7).Value

 
        calendarURL = "https://calendar.google.com/calendar/render?action=TEMPLATE"
        calendarURL = calendarURL & "&text=" & URLEncodeUTF8(eventTitle)
        calendarURL = calendarURL & "&dates=" & startDate & "T" & startTime & "00Z/"
        calendarURL = calendarURL & endDate & "T" & endTime & "00Z"
        
        If location <> "" Then calendarURL = calendarURL & "&location=" & URLEncodeUTF8(location)
        If description <> "" Then calendarURL = calendarURL & "&details=" & URLEncodeUTF8(description)

  
        ThisWorkbook.FollowHyperlink calendarURL
    Next i

End Sub
 

File đính kèm

Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom