无法使用机器人框架处理通知弹出窗口

时间:2019-02-25 15:04:43

标签: robotframework

我正在尝试“允许”或“阻止”加载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 :(得分:2)

为了在Chrome中禁用此功能,我们传递了 -disable-notifications 标志。

为此,我们需要从硒中创建Chrome选项对象,并将其传递给 创建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"]

希望这会有所帮助!