I-configure ang Proxy para sa mga Download ng Python webdriver-manager
Bigyan ang Python webdriver-manager ng HttpClient na may kamalayan sa proxy sa pamamagitan ng WDMDownloadManager bago gamitin ang ibinalik na driver path.
Ang argumento na --proxy-server ng Chrome ay nalalapat lamang pagkatapos magsimula ang browser. Maaaring kailanganin ng webdriver-manager ang proxy nang mas maaga, habang naghahanap ng tugmang driver at nagda-download ng archive nito.
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()
Ipinapalagay ng bahaging ito ang umiiral na mga dependency na webdriver-manager at Requests. Ang napiling proxy listener ay HTTP para sa parehong destination scheme. Para sa pinapayagang pampublikong pag-download ng driver, ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa mga proxy URL ng session. Panatilihing buhay ang Session hanggang matapos ang pag-install o paghahanap sa cache ng manager, pagkatapos ay ipasa ang driver_path sa karaniwang setup ng Selenium service ng aplikasyon.
Tinatanggap ng custom na get method ang mga karagdagang HTTP argument ng manager at pinapanatili ang validation ng tugon. Ang pagpili ng proxy ay pag-aari ng download client; i-configure ang Chrome nang hiwalay kapag kailangan din ng proxy ang navigation.
Ginagawang tahasan ng trust_env=False ang configuration ng Session na ito, kabilang ang pag-disable sa pagpili ng CA bundle na nagmumula sa environment. Kung kailangan ng download route ang CA ng organisasyon, ibigay ang inilaan na bundle sa verify setting ng Session na ito habang pinapanatili ang mga pagsusuri ng certificate.