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 تەڭشىكىدە تەمىنلەڭ.

مۇناسىۋەتلىك ماقالىلەر