Конфигурирање прокси за преземања со Python webdriver-manager
Дајте му на Python webdriver-manager HttpClient што го разбира прокси преку WDMDownloadManager пред да ја користите вратената driver патека.
Аргументот --proxy-server на Chrome важи само откако ќе се стартува прелистувачот. На 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 ја прави конфигурацијата на оваа сесија експлицитна, вклучително исклучувањето на изборот на CA пакет добиен од околината. Ако рутата за преземање бара организациски CA, обезбедете го предвидениот пакет во поставката verify на оваа сесија, задржувајќи ги проверките на сертификатите.