Вечер добрый, на сайте требуется постоянное включение флеша, как можно драйверу хрома передать настройки по умолчанию сайт на котором он всегда включен ? Есть доки по всем возможным опциям или искать методом тыка ?
Сама настройка находится тут:
Попробуйте
prefs.put("profile.default_content_setting_values.plugins", 1);
prefs.put("profile.content_settings.plugin_whitelist.adobe-flash-player", 1);
prefs.put("profile.content_settings.exceptions.plugins.*,*.per_resource.adobe-flash-player", 1);
prefs.put("PluginsAllowedForUrls", "https://your_url.com");
1 лайк
Под python этот код не работоспособен. А если эти же строки добавить в experimental_options - драйвер падает с ошибкой unrecognized chrome option
Тогда надо делать профиль и подключать профиль
Спасибо, способ хоть и кустарный, но зато позволяет справится с задачей.
Никакой он не кустарный. У любого браузера есть ключи запуска, так почему бы их не использовать. Вот мой пример. Здесь указывается и профиль и подгружается нужное расширение для обхода basic auth:
elif browser == 'chrome':
ch_opts = webdriver.ChromeOptions()
ch_opts.add_argument(f"--user-data-dir={ui_config['pages_config']['chrome_profile']}")
if ui_config['pages_config'].get('chrome_extension'):
ch_opts.add_argument(f"--load-extension={ui_config['pages_config']['chrome_extension']}")
ch_opts.add_argument('--start-maximized')
driver = webdriver.Chrome(executable_path=driver_path,
service_log_path=log_path,
chrome_options=ch_opts)
А в конфиге вот такие пути:
chrome_profile: /home/username/.config/google-chrome/SeleniumQA
chrome_extension: /home/username/.config/google-chrome/SeleniumQA/Default/Extensions/enhldmjbphoeibbpdhmjkchohnidgnah/0.7.4_0
C этим согласен, но думал есть способ решение задачи путем передачи аргументов.
У меня получилось запустить:
Chrome Browser: 63.0.3239.132 (Официальная сборка) (64 бит)
chromedriver: 2.34.522940
Python 3.5.3
selenium (2.53.1)
chrome_options = webdriver.ChromeOptions()
prefs = { "profile.default_content_setting_values.plugins": 1,
"profile.content_settings.plugin_whitelist.adobe-flash-player": 1,
"profile.content_settings.exceptions.plugins.*,*.per_resource.adobe-flash-player": 1,
"PluginsAllowedForUrls": "http://testsite.com"
}
chrome_options.add_experimental_option("prefs", prefs)
driver = webdriver.Chrome(chrome_options=chrome_options,
executable_path=r"path_to_chromedriver")
1 лайк