Использование нескольких клиентских сертификатов с Python и SeleniumPython

Программы на Python
Anonymous
Использование нескольких клиентских сертификатов с Python и Selenium

Сообщение Anonymous »

Я работаю над проектом веб-скрапинга с использованием Python и Selenium с драйвером Chrome, которому для доступа к страницам требуются клиентские сертификаты. У меня есть два сценария, которые он должен обрабатывать:
  • Различные сертификаты разрешают доступ к разным URL-адресам (например, сертификат A обеспечивает доступ к URL-адресам 1, 2 и 3, а сертификат B обеспечивает доступ к URL-адресам). 4, 5 и 6)
  • Несколько сертификатов могут получить доступ к одному и тому же URL-адресу (например, сертификат A и B оба могут получить доступ к URL-адресам 7, 8 и 9 — эти URL-адреса возвращают разные данные, специфичные для компании, с каждым другой сертификат)
Я использую Windows/Windows Server и использовал запись реестра AutoSelectCertificateForUrls, которая автоматически выбирает сертификат на основе URL-адреса ( или подстановочный знак). Но для сценария №2, описанного выше, это бесполезно.
В идеале я хотел бы передать URL-адрес и имя сертификата в скрипт Python, а затем заставить Chrome использовать этот сертификат при доступе указанный URL-адрес, но я не вижу способа сделать это. На данный момент у меня есть:

Код: Выделить всё

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait, Select

chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--allow-insecure-localhost')
chrome_options.add_argument('--ignore-ssl-errors=yes')
chrome_options.add_argument('--ignore-certificate-errors')
driver = webdriver.Chrome()

driver.get(url)
:
:
# scrape code here
Есть ли у кого-нибудь хорошие пошаговые инструкции, как справиться с этим?

Подробнее здесь: https://stackoverflow.com/questions/790 ... d-selenium

Вернуться в «Python»