Как настроить прокси в Playwright (уровень браузера и контекста с авторизацией)
Обновлено:
Playwright «из коробки» поддерживает встроенную аутентификацию HTTP-прокси (server, username, password) в Chromium, Firefox и WebKit без необходимости установки расширений браузера или сторонних библиотек. Более того, функция Per-Context Proxy в Playwright позволяет в рамках одного процесса браузера запускать десятки изолированных сессий BrowserContext, привязанных к собственным статическим IP от VinaProxy.
proxy={ server: 'http://ip:port', username: 'user', password: 'pass' }- 1 IP40 000 ₫
- От 5 IP35 000 ₫
- От 10 IP25 000 ₫
- От 20 IP25 000 ₫
- От 50 IP25 000 ₫
- От 100 IP25 000 ₫
- От 200 IP25 000 ₫
- От 500 IP25 000 ₫
- От 1000 IP22 000 ₫
- От 2000 IP20 000 ₫
- 1 IP50 000 ₫
- От 3 IP40 000 ₫
- От 5 IP40 000 ₫
- От 10 IP32 000 ₫
- От 50 IP30 000 ₫
- От 100 IP30 000 ₫
- От 200 IP30 000 ₫
- От 500 IP25 000 ₫
Параметры объекта конфигурации proxy в Playwright
Объект proxy можно передавать как глобально в chromium.launch({ proxy }), так и индивидуально для каждой сессии в browser.newContext({ proxy }):
| Ключ Playwright | Формат значения | Техническое примечание |
|---|---|---|
server | 'http://ip:port' | Только хост и порт, обязательно с префиксом http:// |
username | 'user' | Имя пользователя прокси из личного кабинета VinaProxy |
password | 'pass' | Пароль прокси (Playwright автоматически обрабатывает ответ HTTP 407) |
bypass | 'localhost,127.0.0.1' | Необязательный список хостов через запятую, для которых прокси не используется |
Эффективная работа с несколькими IP через BrowserContext
- В Windows и macOS, если вы планируете переопределять
proxyв вызовахbrowser.newContext(), обязательно укажите параметр-заглушкуproxy: { server: 'http://per-context' }вchromium.launch()для активации сетевой маршрутизации Chromium - Задавайте
timezoneIdиlocaleвbrowser.newContext()в соответствии с геолокацией прокси, чтобы заголовки и API JavaScriptIntlсовпадали с целевой страной - Блокируйте загрузку ненужных изображений и шрифтов с помощью
page.route(), чтобы значительно ускорить парсинг данных
Пошаговая инструкция
- 1
Получите IP, порт, логин и пароль
Скопируйте учетные данные
ip:port:user:passиз панели управления VinaProxy. - 2
Передайте объект proxy в newContext()
Вызовите
const context = await browser.newContext({ proxy: { server: 'http://ip:port', username: 'user', password: 'pass' } }). - 3
Синхронизируйте timezoneId и locale
Укажите
timezoneIdиlocale, соответствующие местоположению прокси (например,America/New_YorkилиAsia/Ho_Chi_Minh). - 4
Проверьте выходной IP на новой странице
Создайте вкладку
const page = await context.newPage()и выполните запрос кhttps://vinaproxy.com/api/my-ip.
Часто задаваемые вопросы
Почему Playwright выдает ошибку 'Proxy is only supported when browser is launched with a proxy'?
В Windows и macOS браузеру Chromium требуется глобальный флаг прокси при запуске, чтобы разрешить переопределение прокси для отдельных контекстов. Запустите браузер с параметром chromium.launch({ proxy: { server: 'http://per-context' } }), а затем передавайте реальные данные прокси в каждый browser.newContext({ proxy }).
Работают ли прокси VinaProxy с движками Firefox и WebKit в Playwright?
Да. Синтаксис объекта proxy: { server, username, password } полностью идентичен для Chromium, Firefox и WebKit как в Node.js, так и в Python.
Учитывается ли расход трафика при запуске Playwright в headless-режиме?
Нет. Все тарифные планы VinaProxy на приватные IPv4 и статические ISP включают полностью безлимитный трафик.
Масштабируйте сессии Playwright BrowserContext со статическими IP
Быстрые безлимитные HTTP(S)-прокси в 7 локациях по всему миру.
Купить прокси для Playwright