2017-03-29 27 views

回答

0

我不认为这是真实的,说实话(因为它是浏览器的性能。)你有与该问题?你可以辞退的唯一的事情是JavaScript警告,可能处理这个最好的方法是:

${alert} = Get Alert Message dismiss=${dismiss} 

我有这个在我的测试拆卸与运行关键字和忽略错误,这让我能够获取可选JS警报内容和调试(也可以解除它,套件的其余部分可以执行。)

0

三种方法做到这一点。

1)很多次,一旦弹出窗口出现在屏幕上并消失,就可以在开发者控制台 - >应用程序中查看Cookie。如果您使用添加Cookie关键字将此Cookie设置为值。弹出式窗口不会出现。 2)如果先不工作,然后打开开发工具并从开发工具 - >应用程序监视本地存储并关闭弹出窗口。 U会注意到一些变量的值存储在本地存储器中。您可以使用脚本设置该值,并且在执行变量时不会看到弹出窗口。

3)如果第一个和第二个不起作用,弹出窗口最有可能链接到一个JavaScript变量。使用设置java脚本变量执行Javascript关键字和您的问题必须解决。

与你的开发团队交谈,看看哪种方式适合你。

0

这个问题已经在纯Python语境之前提出并回答过。对于正常工作的机器人示例,此答案继续在此SO post上。

您看到的弹出窗口是由Chrome本身生成的。这不是一个HTML警报。由于这个原因,Selenium2Library关键字没有任何影响。也不会设置Cookie或JavaScript。

enter image description here

这些设置可以使用chrome://settings链路手动设置。进入高级设置,然后向下滚动到密码和表格。取消第二项,这将阻止弹出窗口。

enter image description here

要在机器人框架自动做同样的webdriver的需要与另外的喜好开始:这里

Chrome With Preferences 
    ${chrome_options} =  Evaluate sys.modules['selenium.webdriver'].ChromeOptions() sys, selenium.webdriver 

    ${prefs} Create Dictionary credentials_enable_service=${false} 

    Call Method ${chrome_options} add_experimental_option prefs ${prefs} 
    Call Method ${chrome_options} add_argument --disable-infobars 

    Create WebDriver Chrome chrome_options=${chrome_options} 

    Go To https://secure.url.com 

这关键的事情是credentials_enable_service=${false}使用其中重要${false},而不是,因为后者被解释为一个字符串,然后添加到Chrome作为“false”而不是正确的值false

第二项是,设置未加入作为参数但通过像这样分配dictionaryChromeOptions()对象的属性prefsadd_experimental_option prefs ${prefs}