የ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 ቅንብር ላይ ያቅርቡ።

ተዛማጅ ጽሑፎች