Ikkonfigura proxy għat-tniżżil ta' Python webdriver-manager
Agħti lil Python webdriver-manager HttpClient li jifhem il-proxy permezz ta' WDMDownloadManager qabel ma tuża d-driver path li jintbagħat lura.
L-argument --proxy-server ta' Chrome japplika biss wara li l-browser jibda. webdriver-manager jista' jkun jeħtieġ proxy qabel, waqt li jfittex driver kompatibbli u jniżżel l-arkivju tiegħu.
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()
Dan il-framment jassumi d-dipendenzi eżistenti webdriver-manager u Requests. Il-proxy listener magħżul huwa HTTP għaż-żewġ skemi tad-destinazzjoni. Għat-tniżżil pubbliku tad-driver permess, il-lista tal-proxy HTTP tipprovdi kandidati għall-URLs tal-proxy tas-sessjoni. Żomm is-Session ħajja sakemm titlesta l-installazzjoni jew it-tfittxija fil-cache tal-maniġer, imbagħad għaddi driver_path lis-setup tas-servizz Selenium tas-soltu tal-applikazzjoni.
Il-metodu get personalizzat jaċċetta l-argumenti HTTP addizzjonali tal-maniġer u jżomm il-validazzjoni tar-risposta. L-għażla tal-proxy tappartjeni lill-klijent tat-tniżżil; ikkonfigura Chrome separatament meta n-navigazzjoni wkoll teħtieġ proxy.
trust_env=False tagħmel il-konfigurazzjoni ta' din is-sessjoni espliċita, inkluż li tiddiżattiva l-għażla tal-bundle CA derivata mill-ambjent. Jekk ir-rotta tat-tniżżil teħtieġ CA tal-organizzazzjoni, ipprovdi l-bundle maħsub fis-setting verify ta' din is-sessjoni filwaqt li żżomm il-verifiki taċ-ċertifikati.