Перейти до вмісту
Гайды 1 хв читання 120 переглядів

Selenium Проксі: Повний Посібник

Як налаштувати проксі у Selenium WebDriver для Python: Chrome, Firefox, автентифікація, ротація та обхід виявлення.

Selenium Автоматизация Python
Selenium Проксі: Повний Посібник

Selenium Proxy: Повний посібник

Selenium WebDriver — це популярний інструмент автоматизації браузера. Налаштування проксі в Selenium вимагає особливого підходу.

Chrome + Selenium

Базове налаштування

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_argument('--proxy-server=http://proxy.example.com:8080')

driver = webdriver.Chrome(options=chrome_options)
driver.get('https://httpbin.org/ip')

З автентифікацією (через розширення)

import zipfile

def create_proxy_extension(proxy_host, proxy_port, proxy_user, proxy_pass):
    manifest_json = '''
    {
        "version": "1.0.0",
        "manifest_version": 2,
        "name": "Proxy Auth",
        "permissions": ["proxy", "webRequest", "webRequestBlocking", "<all_urls>"],
        "background": {"scripts": ["background.js"]}
    }
    '''

    background_js = f'''
    var config = {{
        mode: "fixed_servers",
        rules: {{
            singleProxy: {{
                scheme: "http",
                host: "{proxy_host}",
                port: parseInt({proxy_port})
            }}
        }}
    }};

    chrome.proxy.settings.set({{value: config, scope: "regular"}}, function() {{}});

    chrome.webRequest.onAuthRequired.addListener(
        function(details) {{
            return {{
                authCredentials: {{
                    username: "{proxy_user}",
                    password: "{proxy_pass}"
                }}
            }};
        }},
        {{urls: ["<all_urls>"]}},
        ['blocking']
    );
    '''

    with zipfile.ZipFile('proxy_auth.zip', 'w') as zp:
        zp.writestr("manifest.json", manifest_json)
        zp.writestr("background.js", background_js)

    return 'proxy_auth.zip'

# Usage
ext_path = create_proxy_extension('proxy.example.com', 8080, 'user', 'pass')

chrome_options = Options()
chrome_options.add_extension(ext_path)

driver = webdriver.Chrome(options=chrome_options)

Firefox + Selenium

from selenium import webdriver
from selenium.webdriver.firefox.options import Options

profile = webdriver.FirefoxProfile()
profile.set_preference("network.proxy.type", 1)
profile.set_preference("network.proxy.http", "proxy.example.com")
profile.set_preference("network.proxy.http_port", 8080)
profile.set_preference("network.proxy.ssl", "proxy.example.com")
profile.set_preference("network.proxy.ssl_port", 8080)

driver = webdriver.Firefox(firefox_profile=profile)

SOCKS5 Проксі

chrome_options = Options()
chrome_options.add_argument('--proxy-server=socks5://proxy.example.com:1080')

Ротація проксі

import random

proxies = [
    'http://proxy1.example.com:8080',
    'http://proxy2.example.com:8080',
    'http://proxy3.example.com:8080',
]

def get_driver_with_proxy():
    proxy = random.choice(proxies)
    chrome_options = Options()
    chrome_options.add_argument(f'--proxy-server={proxy}')
    return webdriver.Chrome(options=chrome_options)

Обхід виявлення

chrome_options = Options()
chrome_options.add_argument('--proxy-server=http://proxy:8080')
chrome_options.add_argument('--disable-blink-features=AutomationControlled')
chrome_options.add_experimental_option('excludeSwitches', ['enable-automation'])
chrome_options.add_experimental_option('useAutomationExtension', False)

driver = webdriver.Chrome(options=chrome_options)
driver.execute_cdp_cmd('Page.addScriptToEvaluateOnNewDocument', {
    'source': 'Object.defineProperty(navigator, "webdriver", {get: () => undefined})'
})

Перевірка

driver.get('https://httpbin.org/ip')
print(driver.page_source)

Поради

  1. Використовуйте безголовий режим обережно — багато сайтів його виявляють
  2. Додавайте випадкові затримки між діями
  3. Обертайте User-Agent разом із проксі
  4. Використовуйте резидентні проксі для складних сайтів
Оновлено: 09.01.2026
Назад до категорії

Читайте також

Гайды 1 хв

Налаштування проксі в Cypress для E2E тестування

Налаштування проксі в Cypress: змінні HTTP_PROXY, cy-proxy-middleware та тестування геозалежного контенту.

Гайды 1 хв

Як автоматизувати купівлю проксі через API

Автоматизація купівлі та управління проксі через API провайдерів: інтеграція, моніторинг використання та автопоновлення.

Гайды 1 хв

Створення інформаційної панелі моніторингу проксі в Grafana

Покрокове створення інформаційної панелі для моніторингу проксі в Grafana: метрики,

Гайды 1 хв

Як тестувати проксі перед покупкою

Чек-лист тестування проксі перед покупкою: швидкість, стабільність, анонімність, гео та сумісність з ціллю

Гайды 1 хв

Як налаштувати липкі сесії через проксі

Липкі сесії: підтримка однієї IP-адреси протягом усієї сесії, налаштовуються через провайдера та самостійно.

Гайды 1 хв

Використання проксі з Camoufox

Camoufox — це модифікований Firefox для обходу антиботів. Налаштування проксі, відбиток та режим невидимості.

Спробуйте наші проксі

20,000+ проксі в 100+ країнах світу

support_agent
GProxy Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.