Как подключить расширение vpn к selenium?

Есть расширение VPN в браузере Chrome, по умолчанию vpn включается вместе с браузером. Есть скрипт, который парсит страницы с иностранного сайта новостей и сохраняет в .csv . Скрипт работает в форме unittest через selenium и BeautifulSoup (unittest просто для удобной оптимизации скрипта). Selenium запускает браузер в новом профиле без расширения vpn. Как запускать браузер с расширением vpn или как запускать браузер в своём профиле?

Код запуска браузера сейчас:

from selenium.webdriver import Chrome
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

chromedriver = ChromeService(ChromeDriverManager().install())
driver = Chrome(service=chromedriver)
driver.get("https://example.com/")
assert "News" in driver.title
driver.maximize_window()

Ответы (1 шт):

Автор решения: Jack Owest

Для запуска с VPN нужно добавить расширение в загрузку селениума

from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

vpn_extension_path = 'Путь к расширению'

chrome_options = ChromeOptions()
chrome_options.add_argument('--load-extension={}'.format(vpn_extension_path))

chromedriver = ChromeService(ChromeDriverManager().install())
driver = Chrome(service=chromedriver, options=chrome_options)

driver.get("https://example.com/")
assert "News" in driver.title
driver.maximize_window()

Запуск с профилем пользователя

from selenium.webdriver import Chrome, ChromeOptions
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager

user_data_dir = 'Путь к папке пользователя'

chrome_options = ChromeOptions()
chrome_options.add_argument('--user-data-dir={}'.format(user_data_dir))

chromedriver = ChromeService(ChromeDriverManager().install())
driver = Chrome(service=chromedriver, options=chrome_options)

driver.get("https://example.com/")
assert "News" in driver.title
driver.maximize_window()
→ Ссылка