如何使用webdriver处理动态叠加

时间:2015-06-25 08:44:52

标签: webdriver

执行selenium脚本时,我们会得到一个覆盖(如弹出窗口),要求确认是或否。 在这种情况下,主要问题是叠加弹出窗口不会出现在一个恒定的位置,而是出现在不同的位置。 例如: - 考虑我们有4个页面可以导航它在第一页中出现的某些时间,有时它出现在第二页中,有时也会出现 当我们访问不同的元素时,它会出现在同一页面中。有时候我们没有覆盖。

请让我知道如何解决此问题,提前致谢

2 个答案:

答案 0 :(得分:0)

您可以通过驱动程序选项处理该问题,至少在Internet Explorer中是这样。这就是我在Selenium .NET绑定

中的做法
var options = new InternetExplorerOptions { EnableNativeEvents = false };
options.UnexpectedAlertBehavior = InternetExplorerUnexpectedAlertBehavior.Dismiss;

它将强制关闭任何意外的弹出窗口。

答案 1 :(得分:0)

不确定这是否是正确的解决方案,但这必须解决您的任务。

您可以创建一个简单的函数(方法)来检查此弹出窗口是否存在超时。并把它放在所有可能的地方。

或者您可以通过另一个线程中的某个计时器(主线程暂停)来检查它