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 ಸೆಟ್ಟಿಂಗ್‌ನಲ್ಲಿ ಉದ್ದೇಶಿತ ಬಂಡಲ್ ಒದಗಿಸಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು