Гайд по 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.

Эту страницу нашли по запросу

Реальные поисковые фразы, на которые отвечает эта страница — по ссылкам откроются материалы, раскрывающие тему глубже.