Cách xử lý xác thực proxy trong Selenium webdriver

Proxy là gì?

Proxy hoạt động như một trung gian giữa máy khách gửi yêu cầu và máy chủ phản hồi. Công dụng chính của proxy là duy trì quyền riêng tư và đóng gói giữa nhiều hệ thống tương tác.

Proxy cũng có thể thêm một lớp bảo mật khác trên web bằng cách hoạt động như một tường lửa giữa Máy khách và máy chủ web. Điều này đặc biệt được sử dụng khi các trang web mà khách hàng sử dụng phải được gắn nhãn là được phép hoặc bị chặn dựa trên nội dung trang web.

Quá trình này được gọi là 'Lọc nội dung' và được sử dụng phổ biến nhất trong các Cơ sở giáo dục, Văn phòng công ty, v.v. Việc lọc nội dung có thể được thực hiện dễ dàng với sự trợ giúp của proxy. Về mặt trên Internet, proxy có thể được triển khai như một máy chủ riêng biệt nằm giữa máy khách và máy chủ web hoặc cơ sở dữ liệu thực tế phản hồi.

Sự khác biệt giữa SOCKS và Proxy HTTP

SOCKS Http Proxy
SOCKS là viết tắt của ổ cắm bảo mật. Nó thường được sử dụng làm tường lửa giữa Máy khách và máy chủ Proxy HTTP cũng có thể được sử dụng làm tường lửa giữa Máy khách và máy chủ nhưng chỉ có thể được sử dụng cho các Yêu cầu HTTP
SOCKS không diễn giải dữ liệu được trao đổi Proxy HTTP diễn giải dữ liệu được trao đổi giữa Máy khách và máy chủ
Chậm hơn về mặt hiệu suất Hiệu suất tốt hơn so với SOCKS

Cách xử lý proxy trong Selenium Trình điều khiển web trong Chrome

Xác thực Proxy HTTP với Selenium trong Chrome có thể được xử lý bằng cách sử dụng các phương pháp sau

  • Sử dụng công cụ AutoIT
  • Sử dụng cảnh báo

Sử dụng công cụ AutoIT

Auto IT là một công cụ của bên thứ ba được sử dụng để tự động hóa máy tính để bàn Windows. Kể từ khi Selenium chỉ xử lý các cửa sổ và cửa sổ bật lên dựa trên web, không thể xử lý các điều khiển hệ điều hành bằng cách sử dụng Selenium.

Điều này yêu cầu sử dụng các công cụ bên ngoài của bên thứ ba như Auto IT để được tích hợp với Selenium. Vì vậy, Auto IT được sử dụng phổ biến nhất để xử lý việc tải tệp lên và tải xuống tệp trên các trang web.

Để sử dụng AutoIT, Bạn cần tải xuống và cài đặt phần mềm AutoIT trên các máy cục bộ của chúng tôi.

Tải xuống bản cài đặt AutoIT được bao gồm trong bài viết .

Mở Chương trình – Công cụ Autoit – SciTE Script Editor và thêm tập lệnh AutoIt được đề cập bên dưới vào trình chỉnh sửa Autoit và lưu nó dưới dạng 'ProxyAuthentication.au3' trong hệ thống của bạn

Biên dịch tệp và chuyển đổi nó thành 'ProxyAuthentication.exe.'

In Eclipse, thêm tệp Auto IT vào Selenium Viết kịch bản và chạy

Dưới đây là tập lệnh AutoIT để xác thực HTTP Proxy

Send("guru99{ENTER}")
Send("guru99{ENTER}")

Bạn cần chuyển tệp Auto IT để thực thi trên Selenium webdriver sử dụng mã dưới đây

Mã nguồn:

package Guru99Demo;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AutoITDemo {
    public static void main(String[] args) throws IOException {
        System.setProperty("webdriver.chrome.driver", "D:\\ chromedriver.exe");;
        WebDriver driver = new ChromeDriver();
        driver.get("http://demo.guru99.com/test/basic_auth.php");
        //Passing the AutoIt Script to Selenium	
        Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe");
    }
}

Giải thích mã:

  • Ở bước đầu tiên, Bạn đang khởi tạo phiên bản trình điều khiển Chrome bằng cách đặt thuộc tính hệ thống để trỏ tệp chromedriver.exe
  • Ở bước thứ hai, Bạn đang khởi tạo một đối tượng của trình điều khiển web và truyền URL trang web bằng phương thức get
  • Cuối cùng, Bạn đang chuyển tên người dùng và mật khẩu cho cửa sổ bật lên xác thực HTTP Proxy bằng tệp tập lệnh AutoIT

Đầu ra mã:

Xử lý cảnh báo tên người dùng bằng AutoIT
Xử lý cảnh báo tên người dùng bằng AutoIT
Xử lý cảnh báo mật khẩu bằng AutoIT

Xử lý cảnh báo mật khẩu bằng AutoIT
Màn hình xác thực proxy thành công

Màn hình xác thực proxy thành công

Sử dụng cảnh báo

Cảnh báo là tính năng đơn giản, có sẵn được cung cấp bởi Selenium trình điều khiển web. Bạn có thể xử lý cửa sổ bật lên xác thực proxy bằng cách sử dụng Selenium trình điều khiển web bằng cách chuyển sang cảnh báo xác thực proxy HTTP và chuyển trực tiếp tên người dùng và mật khẩu đến cảnh báo. Với sự trợ giúp của phương thức gửi khóa.

Ví dụ:

Kịch bản thử nghiệm:

Xử lý cửa sổ bật lên xác thực HTTP Proxy trên trang web: https://demo.guru99.com/test/basic_auth.php sử dụng Cảnh báo trong Selenium trình điều khiển web.

Mã nguồn Ví dụ:

package Guru99Demo;
import java.io.IOException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AlertsDemo {
    public static void main(String args[]) throws IOException {
        System.setProperty("webdriver.chrome.driver", "D:\\Data_Personal\\Software\\chromedriver_win32\\chromedriver.exe");;
        WebDriver driver = new ChromeDriver();
        driver.get("http://demo.guru99.com/test/basic_auth.php");
        // Handling Username alert
        driver.switchTo().alert().sendKeys("guru99");
        driver.switchTo().alert().accept();
        // Handling Password alert
        driver.switchTo().alert().sendKeys("guru99");
        driver.switchTo().alert().accept();
    }
}

Đầu ra mã

Xác thực proxy được thực hiện thành công.

Giải thích mã:

  • Ban đầu, Bạn đang khởi tạo một phiên bản trình điều khiển Chrome bằng cách đặt thuộc tính webdriver để trỏ đến vị trí của tệp chromedriver.exe
  • Sau đó, Bạn đang mở URL của trang web được yêu cầu bằng cách chuyển URL làm tham số cho phương thức driver.get()
  • Khi URL được mở, Bạn sẽ chuyển sang cảnh báo tên người dùng và gửi tên người dùng – guru99. Sau đó, bạn nhấp vào nút OK trên cảnh báo bằng phương thức Alert.accept
  • Sau đó, Bạn chuyển sang cảnh báo mật khẩu và gửi mật khẩu – guru99. Sau đó, bạn nhấp vào nút OK trên cảnh báo bằng phương thức Alert.accept

Tổng kết

  • Proxy hoạt động như một trung gian giữa máy khách gửi yêu cầu và máy chủ phản hồi. Công dụng cơ bản của proxy là duy trì sự riêng tư và đóng gói giữa nhiều hệ thống tương tác.
  • Xác thực Proxy HTTP với Selenium trong Chrome có thể được xử lý bằng cách sử dụng các phương pháp sau
  • Truyền tên người dùng và mật khẩu vào URL trang web
  • Sử dụng công cụ AutoIT
  • Sử dụng cảnh báo
  • Trong ba cách tiếp cận trên, sử dụng cảnh báo là cách hiệu quả nhất để xử lý xác thực HTTP Proxy trong Selenium trình điều khiển web