Гайд з Playwright · 1 хв читання

Налаштування проксі у Playwright

У Playwright проксі — повноцінний об'єкт із полями server, username і password, який задається на рівні браузера або контексту. Показуємо чисте налаштування для проксі s4m на Python і Node.

Один об'єкт proxy, дві області дії

На відміну від Puppeteer, Playwright приймає облікові дані просто в опції proxy, тож окремий крок автентифікації не потрібен. Об'єкт має три поля: server (хост і порт зі схемою), а також username та password. На виклик 407 від проксі Playwright відповідає за вас.

Цей об'єкт можна задати у двох областях. Передали в browser_type.launch(proxy=...) — один проксі на весь браузер. Передали в browser.new_context(proxy=...) — проксі діє лише в межах одного контексту, і саме так усередині одного браузера живуть кілька особистостей, кожна зі своїм виходом. Для s4m вкажіть server="http://proxy.s4m.online:3128" зі своїми USER:PASS; для браузерів надійніший саме HTTP-ендпоінт. Playwright підтримує й SOCKS5 через socks5://proxy.s4m.online:1080, але автентифікованого SOCKS5 у браузері краще уникати. Докладніше — на сторінці проксі та в гайді про Puppeteer.

Playwright з автентифікованим проксі

Python і Node — обидва задають server + username + password. Область на рівні контексту дає кожному контексту власний вихід.

python
# pip install playwright && playwright install chromium
from playwright.sync_api import sync_playwright

PROXY = {
    "server": "http://proxy.s4m.online:3128",  # HTTP endpoint
    "username": "USER",
    "password": "PASS",
}

with sync_playwright() as p:
    # Option A: proxy for the whole browser
    browser = p.chromium.launch(proxy=PROXY, headless=True)

    # Option B: proxy scoped to a single context (per-identity)
    context = browser.new_context(proxy=PROXY)
    page = context.new_page()
    page.goto("https://api.ipify.org?format=json", timeout=30000)
    print("Exit IP:", page.inner_text("body"))
    browser.close()

# ----- Node equivalent -----
# const { chromium } = require("playwright");
# const proxy = {
//   server: "http://proxy.s4m.online:3128",
//   username: "USER", password: "PASS",
// };
# (async () => {
//   const browser = await chromium.launch({ proxy, headless: true });
//   const page = await browser.newPage();
//   await page.goto("https://api.ipify.org?format=json");
//   console.log(await page.innerText("body"));
//   await browser.close();
// })();

Налаштуйте це

Від встановлення до перевіреного запуску через проксі.

Встановіть браузери

Виконайте pip install playwright, а потім playwright install chromium (або npm i playwright). Playwright завантажує власну збірку браузера, тож системний Chrome не потрібен.

Зберіть об'єкт proxy

Вкажіть у server значення http://proxy.s4m.online:3128, а в username і password — свої облікові дані s4m. Окремий виклик автентифікації не потрібен.

Виберіть область дії

Передайте proxy в launch(), якщо вихід один на весь браузер, або в new_context(), коли кожному контексту потрібен свій IP під окрему особистість.

Перевірте вихід

Відкрийте ендпоінт, що повертає ваш IP, і прочитайте відповідь — переконайтеся, що трафік справді йде через проксі, перш ніж будувати решту сценарію.

Особистості на рівні контексту та чесні межі

Проксі на рівні контексту — суперсила Playwright для автоматизації в масштабі: один процес браузера, багато контекстів, кожен ізольований, зі своїми cookie й своїм вихідним IP. Це чистіше й легше, ніж піднімати окремий браузер на кожну особистість. Додайте до цього окремі User-Agent і розміри вікна для кожного контексту, щоб кожна особистість була несуперечливою всередині себе.

Чесність тут така сама, як і всюди. Проксі s4m — це SOCKS5 та HTTP дата-центру: швидкі й стабільні, чудові для тестів і моніторингу, але вони не вдають домашні з'єднання, тож добре захищені сайти можуть їх позначити. Проксі змінює ваш IP, а не відбиток браузера чи вашу поведінку, тож сприймайте його як один шар із кількох. Коли сервіс очікує одну стабільну адресу, додайте виділений персональний IP. Перевіряйте виходи й порти інструментами, дивіться API, а дешеві перші тести робіть на безкоштовному списку проксі.

FAQ

Відповіді на питання

Чи потрібен у Playwright окремий крок автентифікації?

Ні. На відміну від Puppeteer, Playwright бере username і password просто в об'єкті proxy, поряд із server. Виклик 407 він обробляє за вас автоматично.

Чи можна дати кожному контексту свій проксі?

Так. Передайте об'єкт proxy у browser.new_context(proxy=...) — і цей контекст піде через власний вихід. Це охайний спосіб тримати кілька особистостей в одному браузері.

Який ендпоінт брати — HTTP чи SOCKS5?

Для браузерів беріть HTTP-ендпоінт на порту 3128 — це надійний вибір. Playwright підтримує й SOCKS5, але автентифікованого SOCKS5 у браузері краще уникати.

Чи є проксі s4m резидентними?

Ні. Це автентифіковані проксі SOCKS5 та HTTP дата-центру з оплатою за спожитий трафік. Чудово підходять для тестування й моніторингу, хоча агресивні антибот-системи можуть позначати діапазони дата-центрів.

Автоматизуйте браузери за проксі

Вставте proxy.s4m.online прямо в об'єкт proxy у Playwright, задайте його на рівні контексту й платіть лише за спожитий трафік. Для стабільних виходів під кожну особистість додайте виділений IP.

Цю сторінку знаходять за запитами

Реальні пошукові фрази, на які відповідає ця сторінка — за посиланнями відкриються матеріали, що розкривають тему глибше.