Аргументот --proxy-server на Chrome важи само откако ќе се стартува прелистувачот. На 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 ја прави конфигурацијата на оваа сесија експлицитна, вклучително исклучувањето на изборот на CA пакет добиен од околината. Ако рутата за преземање бара организациски CA, обезбедете го предвидениот пакет во поставката verify на оваа сесија, задржувајќи ги проверките на сертификатите.

Поврзани статии