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 هذا؛ ولا تضبطها دالة استدعاء راجع لمصادقة المتصفح.

مقالات ذات صلة