2015-11-06 163 views
0

我正在做一些硒web测试,并在这一个网站上我自动化模式弹出窗口有时会随机出现,并会阻止我抓住其他元素。我知道在Selenium中有一些方法可以关闭像alert()。dismiss()这样的弹出窗口,但这意味着我知道弹出窗口会显示出来,而我不会随机显示它。关闭模式弹出式窗口的事件处理程序

我想知道如何附加一个事件监听器,当这些模式弹出窗口出现,并有一个回调,将关闭它。请致谢

回答

0

如果您知道触发弹出窗口的代码在哪里,您可以简单地在webdriver中注入几行javascript并取消弹出窗口。

举个例子,如果弹出了几秒钟后出现,并通过下面的代码触发:

setTimeout(function() { showModal() }, 5000);

你可以覆盖网页的模态功能具有以下(Java)的代码:

driver.executeScript("showModal = function() {}");

模态被执行这将触发一个空函数的下一次。