Selenium JavaScript: uzak WebDriver komut bağlantısını proxy üzerinden geçirme
Uzak bir Selenium uç noktasına gönderilen JavaScript WebDriver komutları için usingWebDriverProxy kullanın.
JavaScript Selenium betiği, o sunucunun tarayıcısı herhangi bir yere gidebilmeden önce WebDriver komutlarını uzak sunucuya gönderir. Komut bağlantısı bir HTTP proxy üzerinden geçmek zorundaysa Builder'ın WebDriver proxy'sini yapılandırın:
const { Builder, Browser } = require("selenium-webdriver");
const driver = await new Builder()
.forBrowser(Browser.CHROME)
.usingServer(gridUrl)
.usingWebDriverProxy("http://proxy.example.net:8080")
.build();gridUrl gerçek Selenium sunucusu veya barındırılan WebDriver uç noktasıdır. Bu rotanın izin verildiği herkese açık bir uç nokta için HTTP proxy listesi usingWebDriverProxy için adaylar sunar. Parçayı async bir CommonJS işlevi içinde çalıştırın. Test oturumu bittiğinde driver'ı kapatın.
usingWebDriverProxy JavaScript bağlamasının HTTP bağlantılarını denetler. Chrome'un proxy yeteneğini veya bir Chrome başlatma argümanını ayarlamaz.
Tarayıcı trafiği de bir aracıya ihtiyaç duyuyorsa amaçlanan Chrome seçeneklerini ayrı olarak verin. O tarayıcı uzak makinede çalışır, bu yüzden proxy uç noktası oradan erişilebilir olmalıdır. Betiğin makinesindeki bir loopback adresi, uzak tarayıcının kullanabileceği bir loopback hizmeti otomatik olarak değildir.
Hatanın WebDriver oturumu oluşturulurken mi yoksa bir web sitesinde gezinirken mi oluştuğunu belirleyin. İki hata farklı ağ istemcilerini ve farklı proxy politikalarını içerebilir.