Xử lý Authentication Popup Window sử dụng Selenium WebDriver
Bạn có thể gặp Authentication popup này khi thực hiện truy cập vào một trang ứng dụng hay địa chỉ nào đó, ở đây bạn cần phải nhập tên đăng nhập và mật khẩu đúng để có thể thực hiện tiếp các thao tác, tác vụ tiếp theo trên trang đó. Loại popup này không phải là popup thông thường được sinh ra từ java-script của ứng dụng đó, mà là một loại hộp thoại của trình duyệt, do đó mà Selenium không thể thực hiện với cách mà chúng ta vẫn làm là sử dụng sendKey() được.
Để giải quyết vấn đề này, chúng ta có hai cách như dưới đâ.
1. Sử dụng Selenium webdriver
Cách đơn giản nhất là truyền trực tiếp username và password cùng với đường dẫn trang web yêu cầu theo cú pháp:
http://Username:Password@SiteURL
Mình có ví dụ:
http://msanh:12121221@www.thichanbanhcuon.com.vn
Trong đó:
msanh là username của mình
12121221 là mật khẩu
Và trang web đăng nhập của mình ở đây là http://www.thichanbanhcuon.com.vn
Code thì sẽ như thế này:
2. Sử dụng AutoIT
Bằng cách sử dụng AutoIT ta cũng có thể xử lý được với trường hợp popup này như sau.
Nếu bạn chưa cài đặt AutoIT thì tham khảo thêm trên các nguồn có sẵn khác.
Nếu đã sẵn sàng rồi, thì chúng ta bắt đầu tạo một AutoIT script có nội dung cú pháp như dưới đây:
Hoặc có thể viết gộp như này cũng được:
Lưu lại và sau đó compile AutoIT script file này thành 1 file exe, lấy đường dẫn của file exe này rồi đưa vào code thôi: