Chrome-ның --proxy-server аргументі браузер іске қосылғаннан кейін ғана әсер етеді. webdriver-manager үйлесімді драйверді іздеп, оның мұрағатын жүктеген кезде проксиді ертерек қажет етуі мүмкін.

import requests
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.download_manager import WDMDownloadManager
from webdriver_manager.core.http import HttpClient

class ProxyHttpClient(HttpClient):
    def __init__(self, session):
        self.session = session

    def get(self, url, params=None, **kwargs):
        kwargs.setdefault('timeout', 30)
        response = self.session.get(url, params=params, **kwargs)
        self.validate_response(response)
        return response

with requests.Session() as session:
    session.trust_env = False
    session.proxies.update({
        'http': 'http://proxy.example:8080',
        'https': 'http://proxy.example:8080',
    })
    downloader = WDMDownloadManager(ProxyHttpClient(session))
    driver_path = ChromeDriverManager(download_manager=downloader).install()

Бұл үзінді қолданыстағы webdriver-manager және Requests тәуелділіктерін болжайды. Таңдалған прокси-тыңдаушы екі мақсаттық схема үшін де HTTP. Рұқсат етілген жалпыға ортақ драйвер жүктеулері үшін HTTP прокси тізімі сессияның прокси URL-деріне кандидаттар ұсынады. Менеджердің орнатуы немесе кэш іздеуі аяқталғанша Session-ды тірі ұстаңыз, содан кейін driver_path-ты қосымшаның әдеттегі Selenium қызметін баптауға беріңіз.

Теңшелген get әдісі менеджердің қосымша HTTP аргументтерін қабылдайды және жауапты тексеруді сақтайды. Прокси таңдауы жүктеу клиентіне тиесілі; навигацияға да прокси қажет болса, Chrome-ды бөлек конфигурациялаңыз.

trust_env=False осы Session конфигурациясын айқын етеді, соның ішінде ортадан алынатын CA бумасын таңдауды өшіру. Егер жүктеу маршруты ұйымдық CA-ны талап етсе, сертификат тексерулерін сақтай отырып, керекті буманы осы Session-ның verify параметрінде көрсетіңіз.

Қатысты мақалалар