ניתוב פקודות RemoteWebDriver של Java דרך פרוקסי
הגדירו ClientConfig על מבצע הפקודות כשיישום Java צריך להגיע לשירות WebDriver מרוחק דרך פרוקסי קדמי.
Java runner → configured proxy → WebDriver service
remote browser → its own route → website
למסלול הראשון, הגדירו את מבצע הפקודות של Java:
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, כולל הנתיב שבו נפרסה. השאירו את אפשרויות Chrome הנדרשות וסיימו את הסשן באמצעות driver.quit().
זהו java.net.Proxy עבור חיבור HTTP של יישום Java. ה־capability org.openqa.selenium.Proxy של Selenium שולט דווקא בתעבורת הדפים של הדפדפן; הגדירו גם אותו רק אם המסלול השני צריך פרוקסי.
כשל ביצירת סשן או בשליחת פקודה שייך למסלול הראשון. ניווט מאוחר יותר עשוי להיכשל במסלול השני. אימות מול המתווך של יישום Java דורש שיטה שתעבורת HTTP הזאת תומכת בה; callback לאימות בדפדפן אינו מגדיר אותה.