Hoja ya --proxy-server ya Chrome inatumika tu baada ya kivinjari kuanza. webdriver-manager inaweza kuhitaji proksi mapema zaidi, inapotafuta kiendeshi kinachooana na kupakua kumbukumbu yake.

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()

Kipande hiki kinadhani vitegemezi vilivyopo vya webdriver-manager na Requests. Kisikilizaji cha proksi kilichochaguliwa ni HTTP kwa skimu zote mbili za lengo. Kwa upakuaji wa umma wa viendeshi unaoruhusiwa, orodha ya proksi za HTTP hutoa watahiniwa kwa URL za proksi za kipindi. Weka Session hai hadi usakinishaji au utafutaji wa akiba wa meneja ukamilike, kisha pitisha driver_path kwenye usanidi wa kawaida wa huduma ya Selenium ya programu.

Mbinu maalum ya get inakubali hoja za ziada za HTTP za meneja na huhifadhi uthibitishaji wa jibu. Uchaguzi wa proksi ni wa mteja wa upakuaji; sanidi Chrome kando wakati urambazaji pia unahitaji proksi.

trust_env=False hufanya usanidi wa Session hii uwe wazi, ikiwa ni pamoja na kuzima uchaguzi wa kifurushi cha CA kinachotokana na mazingira. Ikiwa njia ya upakuaji inahitaji CA ya shirika, toa kifurushi kilichokusudiwa katika mpangilio wa verify wa Session hii huku ukihifadhi ukaguzi wa vyeti.

Makala zinazohusiana