Java के RemoteWebDriver कमांड प्रॉक्सी से भेजें
Java प्रोग्राम को फ़ॉरवर्ड प्रॉक्सी से दूरस्थ WebDriver सेवा तक पहुँचना हो तो command executor पर ClientConfig सेट करें।
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
पहले रास्ते के लिए Java command executor कॉन्फ़िगर करें:
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.URI;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.HttpCommandExecutor;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.http.ClientConfig;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var config = ClientConfig.defaultConfig()
.baseUri(URI.create("https://grid.example/"))
.proxy(proxy);
var executor = new HttpCommandExecutor(config);
var driver = new RemoteWebDriver(executor, new ChromeOptions());
असली Grid एंडपॉइंट इस्तेमाल करें, जिसमें उसका deployment path भी हो। ज़रूरी Chrome विकल्प बनाए रखें और driver.quit() से सत्र बंद करें।
यह Java प्रोग्राम के HTTP कनेक्शन के लिए java.net.Proxy है। इसके बजाय Selenium की org.openqa.selenium.Proxy capability ब्राउज़र के पेज ट्रैफ़िक को नियंत्रित करती है; उसे भी तभी इस्तेमाल करें जब दूसरे रास्ते को प्रॉक्सी चाहिए।
सत्र बनाने या कमांड भेजने की विफलता पहले रास्ते से जुड़ी है। बाद का नेविगेशन दूसरे रास्ते पर विफल हो सकता है। Java प्रोग्राम के मध्यस्थ पर प्रमाणीकरण के लिए उस HTTP ट्रांसपोर्ट की समर्थित विधि चाहिए; ब्राउज़र का प्रमाणीकरण callback उसे कॉन्फ़िगर नहीं करता।