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 સેટિંગમાં ઇચ્છિત બંડલ આપો.

સંબંધિત લેખો