Playwright Java через CDP: налаштування проксі в новому контексті браузера
Підключіться до кінцевої точки CDP Chromium, потім створіть контекст із проксі; тримайте окремо керуюче з'єднання та вихідний маршрут віддаленого браузера.
У віддаленого браузера два мережеві шляхи: керуюче з'єднання Java зі службою браузера та запити браузера до сайтів. Другий налаштовуйте в контексті, який створюєте.
Для служби Chromium, яка надає кінцеву точку CDP і дозволяє нові контексти:
import com.microsoft.playwright.*;
import com.microsoft.playwright.options.Proxy;
try (Playwright playwright = Playwright.create()) {
Browser browser = playwright.chromium().connectOverCDP(cdpEndpoint);
try {
var options = new Browser.NewContextOptions().setProxy(
new Proxy("http://proxy.example:8080")
.setUsername(proxyUser)
.setPassword(proxyPassword));
try (BrowserContext context = browser.newContext(options)) {
context.newPage().navigate("https://www.example.org/");
}
} finally {
browser.close();
}
}
cdpEndpoint — це поточна кінцева точка, яку надає служба браузера. Її токен автентифікації та протокол не залежать від облікового запису проміжного проксі.
З'єднання CDP працюють лише з Chromium. Кінцева точка з протоколом Playwright використовує натомість connect; зміна суфікса URL без перевірки протоколу служби не є надійним перетворенням.
Проксі має бути доступним із хоста віддаленого браузера. Loopback-слухач на машині з Java недоступний там автоматично. Налаштування нового контексту також не переналаштовує вже наявний контекст за замовчуванням або WebSocket-з'єднання Java.