Как подключить расширение 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()