用于关闭模态弹出窗口的事件处理程序

时间:2015-11-06 15:35:30

标签: javascript selenium event-handling modal-dialog

我正在进行一些硒网络测试,在这个网站上,我自动化模式弹出窗口有时会随机出现并阻止我抓住其他元素。我知道有一些内置的Selenium方法用于关闭弹出窗口,例如alert()。dismiss()但这意味着我知道弹出窗口何时显示,而我不会随机显示。

我想知道如何附加一个事件监听器,以便在这些模式弹出窗口显示并有一个可以关闭它的回调时。拜托,谢谢

1 个答案:

答案 0 :(得分:0)

如果您知道触发弹出窗口的代码在哪里,您只需在webdriver中注入几行javascript并使弹出窗口无效。

例如,如果弹出窗口在几秒钟后出现并由以下代码触发:

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

您可以使用以下(Java)代码覆盖网页中的模态函数:

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

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