Điều khiển WEB bằng VBA

Liên hệ QC

tdnhandno

Thành viên mới
Tham gia
10/3/16
Bài viết
47
Được thích
1
Mình đang làm điều khiển web bằng VBA, hiện tại đã đăng nhập được vào web rồi, nhưng khi thực thi lệnh Click thì web tạo 1 cửa sổ mới lên để làm việc và code báo lỗi (nguyên nhân do không tìm thấy ID vì ID đó nằm ở cửa số web mới tạo), có cách nào để code mình chuyển qua thực thi trên cửa sổ mới tạo ko ạ.
Sub dieu_khien_IE()
Dim obj As New WebDriver
obj.Start "Internetexplorer", ""
obj.Get "facebook.com/"
'Nhap ID & Pass
obj.FindElementById("logonuidfield").SendKeys ("test")
obj.FindElementById("logonpassfield").SendKeys ("Nopass")
obj.FindElementByName("uidPasswordLogon").Click
'thời gian chờ
Application.Wait DateAdd("s", 1, Now)
'lệnh Click để mở cửa sổ trang web mới
obj.FindElementById("bestFitViews_div").Click
Application.Wait DateAdd("s", 1, Now)
'các lệnh thực thi trên trang web mới (đến đây thì code báo lỗi
obj.FindElementById("bestFitViews_div").Click (code báo lỗi do không tìm thấy ID)
End Sub
 
trang web e đẩy lên là web nội bộ, chủ yếu là e đẩy dữ liệu lên web và lưu lại
Vậy đâu liên quan gì ví dụ ở bài #1. Mỗi trang web có cấu trúc, mức độ bảo mật khác nhau.
Website nội bộ thường có API hịn lắm á. Dùng cái đó nhé.

Nếu khó quá thì mình dùng UiPath xem, nếu là công việc lặp lại thì rất hiệu quả, thiết lập trên Orchestrator nữa sẽ có một bé robot tự động làm việc cho mình, mình chỉ đi chơi thôi.
 
Upvote 0
Vậy đâu liên quan gì ví dụ ở bài #1. Mỗi trang web có cấu trúc, mức độ bảo mật khác nhau.
Website nội bộ thường có API hịn lắm á. Dùng cái đó nhé.

Nếu khó quá thì mình dùng UiPath xem, nếu là công việc lặp lại thì rất hiệu quả, thiết lập trên Orchestrator nữa sẽ có một bé robot tự động làm việc cho mình, mình chỉ đi chơi thôi.
ở Việt Nam mình đã có diễn đàn về UiPath chưa a nhỉ?
 
Upvote 0
Mình đang làm điều khiển web bằng VBA, hiện tại đã đăng nhập được vào web rồi, nhưng khi thực thi lệnh Click thì web tạo 1 cửa sổ mới lên để làm việc và code báo lỗi (nguyên nhân do không tìm thấy ID vì ID đó nằm ở cửa số web mới tạo), có cách nào để code mình chuyển qua thực thi trên cửa sổ mới tạo ko ạ.
Nếu bạn dùng Internet Explorer thì cần gì đến Selenium. Chỉ cần sử dụng thư viện Microsoft Internet Controls

Tôi trợ giúp bạn theo phương pháp VBA sử dụng Selenium, cùng phương thức Execute, để sử dụng Javascript.


Cài đặt Chrome: nếu win 32bit thì thay đổi đường dẫn Chrome trong code cho đúng với vị trí cài đặt.

Code trong file tự động cập nhật ChromeDriver, mà không cần phải thao tác tay.
 

File đính kèm

  • WebDriver_Login.xlsb
    66.4 KB · Đọc: 92
Lần chỉnh sửa cuối:
Upvote 0
Mình đang làm điều khiển web bằng VBA, hiện tại đã đăng nhập được vào web rồi, nhưng khi thực thi lệnh Click thì web tạo 1 cửa sổ mới lên để làm việc và code báo lỗi (nguyên nhân do không tìm thấy ID vì ID đó nằm ở cửa số web mới tạo), có cách nào để code mình chuyển qua thực thi trên cửa sổ mới tạo ko ạ.
Sub dieu_khien_IE()
Dim obj As New WebDriver
obj.Start "Internetexplorer", ""
obj.Get "facebook.com/"
'Nhap ID & Pass
obj.FindElementById("logonuidfield").SendKeys ("test")
obj.FindElementById("logonpassfield").SendKeys ("Nopass")
obj.FindElementByName("uidPasswordLogon").Click
'thời gian chờ
Application.Wait DateAdd("s", 1, Now)
'lệnh Click để mở cửa sổ trang web mới
obj.FindElementById("bestFitViews_div").Click
Application.Wait DateAdd("s", 1, Now)
'các lệnh thực thi trên trang web mới (đến đây thì code báo lỗi
obj.FindElementById("bestFitViews_div").Click (code báo lỗi do không tìm thấy ID)
End Sub
neu ban muốn giải theo uipath thì mình sẽ giúp bạn vì mình đang làm về uipath
 
Upvote 0
bạn có thể gửi qua mail này cho mình
doanthi.ngocthuy@qit.co.jp
Mình gửi email để nhờ hỏi bạn 1 số thôn tin mà bị chặn không gửi được.
Mình chạy đoạn code dưới thì bị lỗi
Sub Macro1()
Dim obj As New WebDriver --> lỗi type not define
obj.Start "Chrome", ""
obj.Get "https://www....."
obj.FindElementByName("userid").SendKeys ("Thanh")
obj.FindElementByName("password").SendKeys ("abc")
obj.FindElementByClass("send").Click
End Sub

Mình phải bổ sung thư viện như thế nào và tìm nó ở đâu nhờ bạn chỉ giúp

với khi click xong nút "Send", thì trình duyệt sẽ chạy khoảng 5 phút, sau đó nút "Submit" sẽ chuyển trạng thái từ ẩn sang hiện,vậy mình làm sao để bắt event này để gửi lệnh tiếp theo.

Cảm ơn bạn nhiều
 
Upvote 0
Web KT
Back
Top Bottom