Изменить настройки браузера во время выполнения?
Можем ли мы изменить настройки браузера во время выполнения?
Есть ли возможность изменить настройки браузера, установленные перед запуском браузера во время выполнения программно?
Пример:
Я установил следующие настройки перед запуском драйвера
firefoxProfile.setPreference("pdfjs.disabled", true);
firefoxProfile.setPreference("plugin.scan.plid.all", false);
firefoxProfile.setPreference("plugin.scan.Acrobat", "99.0");
Я хочу изменить предпочтение на:
firefoxProfile.setPreference("pdfjs.disabled", **false**);
firefoxProfile.setPreference("plugin.scan.plid.all", **true**);
firefoxProfile.setPreference("plugin.scan.Acrobat", "99.0");
Пожалуйста помоги!!
Спасибо
1 ответ
Можно изменить настройки во время выполнения, используя about:config
UI. Ниже код демонстрирует, как сделать то же самое
from selenium import webdriver
profile = webdriver.FirefoxProfile()
profile.set_preference("general.warnOnAboutConfig", False)
driver = webdriver.Firefox(firefox_profile=profile)
driver.get("about:config")
def set_bool_preferce(name, value):
value = 'true' if value else 'false';
driver.execute_script("""
document.getElementById("textbox").value = arguments[0];
FilterPrefs();
view.selection.currentIndex = 0;
if (view.rowCount == 1) {
current_value = view.getCellText(0, {id:"valeuCol"});
if (current_value != arguments[1]) {
ModifySelected();
}
}
""", name, value)
def set_string_preferce(name, value):
modified = driver.execute_script("""
document.getElementById("textbox").value = arguments[0];
FilterPrefs();
view.selection.currentIndex = 0;
if (view.rowCount == 1) {
current_value = view.getCellText(0, {id:"valeuCol"});
if (current_value != arguments[1]) {
ModifySelected();
return true;
}
}
return false;
""", name, value)
if modified is None or modified is True:
alert = driver.switch_to.alert
alert.send_keys(value)
alert.accept()
set_bool_preferce("pdfjs.disabled", True)
set_string_preferce("plugin.disable_full_page_plugin_for_types", "application/pdf,application/pdf2")
driver.quit()