Фреймворк робота Selenium: Как отключить блокировку всплывающих окон в firefox? - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь отключить блокировку всплывающих окон в Robot Framework для Firefox по-разному: путем установки предпочтения dom.disable_beforeunload = False, настройки возможностей и профиля. Это не работает. Всплывающее подтверждение windows не отображается. См. Открыть Firefox ключевое слово браузера:

*** Keywords ***
Open Firefox browser 
   ${options}=    Evaluate    sys.modules['selenium.webdriver'].FirefoxOptions()    sys   
   Call Method    ${options}   set_preference    dom.disable_beforeunload  False
   Call Method    ${options}   set_capability    unhandledPromptBehavior  ignore
   Call Method    ${options}   set_capability    unexpectedAlertBehaviour  ignore

   ${profile}=    Evaluate    sys.modules['selenium.webdriver'].FirefoxProfile()    sys   
   Call Method    ${profile}   set_preference    dom.disable_beforeunload  False

   ${desired_capabilities}=    Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX    sys   
   Set To Dictionary   ${desired_capabilities}  unhandledPromptBehavior  ignore 
   Set To Dictionary   ${desired_capabilities}  unexpectedAlertBehaviour  ignore 

   Open Browser  ${LOGIN_URL}  Firefox    options=${options}  ff_profile_dir=${profile}  desired_capabilities=${desired_capabilities}

Для Chrome такой проблемы нет. Все работает путем добавления аргумента --disable-popup-blocking.

Open Chrome browser 
    ${options}=    Evaluate    sys.modules['selenium.webdriver'].ChromeOptions()    sys   
    Call Method    ${options}   add_argument    --disable-popup-blocking
    Call Method    ${options}   add_argument    --ignore-certificate-errors
    Open Browser    ${LOGIN_URL}    Chrome    options=${options}  
...