Невозможно обработать всплывающее уведомление с помощью фреймворка робота - PullRequest
0 голосов
/ 25 февраля 2019

Я пытаюсь «разрешить» или «заблокировать» уведомление, которое появляется после загрузки домашней страницы Facebook.Я пытаюсь сделать это с помощью фреймворка робота. Ниже я уже написал.

 *** Settings ***
 Library  SeleniumLibrary


 *** Variables ***

 *** Test Cases ***
 Login to Facebook
 open browser  https://facebook.com  Chrome
 maximize browser window
 input text  id=email  abc@gmail.com
 input text  id=pass  test123
 click button  xpath=//input[@data-testid="royal_login_button"]
 sleep  15
 #   switch browser  get alert message
 handle alert 

 select from list by value  xpath=//*[@id="userNavigationLabel"]  Log Out

Может кто-нибудь, пожалуйста, помогите мне избавиться от всплывающего уведомления и продолжить выполнение.

1 Ответ

0 голосов
/ 26 февраля 2019

Чтобы отключить эту функцию в Chrome, мы передаем флаг - disable-уведомлений .

Для этого нам нужно создать объект Chrome Optionsот селена и передать его до Create Webdriver метод.Это приводит к дополнительному шагу вызова Перейти к , который переходит на нужную страницу.

Мне удалось войти в Facebook с помощью следующего кода, и уведомление не появляется:

*** Settings ***
Library  SeleniumLibrary

*** Test Cases ***
Login to Facebook
    ${options}=    Evaluate  sys.modules['selenium.webdriver.chrome.options'].Options()    sys
    Call Method     ${options}    add_argument    --disable-notifications
    ${driver}=    Create Webdriver    Chrome    options=${options}
    Go To     https://facebook.com
    maximize browser window
    input text    id=email    abc@gmail.com
    input text    id=pass    test123
    click button    xpath=//input[@data-testid="royal_login_button"]

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...