2

実行時にブラウザの設定を変更できますか?実行時にブラウザ設定を変更しますか?

プログラムの実行中にブラウザを起動する前に、ブラウザの設定を変更する可能性はありますか?

例:助けてください

firefoxProfile.setPreference("pdfjs.disabled", **false**); 
firefoxProfile.setPreference("plugin.scan.plid.all", **true**); 
firefoxProfile.setPreference("plugin.scan.Acrobat", "99.0"); 

!!:

私は私がに設定を変更したいドライバーに

firefoxProfile.setPreference("pdfjs.disabled", true); 
firefoxProfile.setPreference("plugin.scan.plid.all", false); 
firefoxProfile.setPreference("plugin.scan.Acrobat", "99.0"); 

を起動する前に、以下の設定を設定しています

おかげ

+0

ドライバを初期化する際にプロファイルを追加しましたか? – IamBatman

答えて

0

ことが可能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() 
関連する問題