Một tập lệnh Selenium bằng JavaScript gửi lệnh WebDriver tới máy chủ từ xa trước khi trình duyệt của máy chủ đó có thể điều hướng tới bất cứ đâu. Nếu kết nối lệnh phải đi qua proxy HTTP, hãy cấu hình proxy WebDriver của Builder:

const { Builder, Browser } = require("selenium-webdriver");

const driver = await new Builder()
  .forBrowser(Browser.CHROME)
  .usingServer(gridUrl)
  .usingWebDriverProxy("http://proxy.example.net:8080")
  .build();

gridUrl là máy chủ Selenium thật hoặc điểm cuối WebDriver được lưu trữ. Với một điểm cuối truy cập công khai nơi tuyến đường đó được phép, danh sách proxy HTTP cung cấp các ứng viên cho usingWebDriverProxy. Chạy đoạn mã bên trong một hàm async của CommonJS. Kết thúc driver khi phiên kiểm thử kết thúc.

usingWebDriverProxy điều khiển các kết nối HTTP của liên kết JavaScript. Nó không đặt khả năng proxy của Chrome hay đối số khởi chạy Chrome.

Nếu lưu lượng của trình duyệt cũng cần một bên trung gian, hãy cung cấp các tùy chọn Chrome dự định riêng. Trình duyệt đó chạy trên máy từ xa, nên điểm cuối proxy của nó phải truy cập được ở đó. Một địa chỉ loopback trên máy của tập lệnh không tự động là dịch vụ loopback mà trình duyệt từ xa dùng được.

Xác định lỗi xảy ra khi tạo phiên WebDriver hay khi điều hướng một trang web. Hai lỗi đó có thể liên quan tới các máy khách mạng và chính sách proxy khác nhau.

Bài viết liên quan