Python webdriver-manager డౌన్లోడ్ల కోసం ప్రాక్సీ కాన్ఫిగర్ చేయండి
తిరిగి ఇచ్చిన driver path ఉపయోగించే ముందు WDMDownloadManager ద్వారా Python webdriver-manager కు ప్రాక్సీ తెలిసిన HttpClient ఇవ్వండి.
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 సెట్టింగ్లో ఉద్దేశించిన బండిల్ను అందించండి.