我正在进行一些硒网络测试,在这个网站上,我自动化模式弹出窗口有时会随机出现并阻止我抓住其他元素。我知道有一些内置的Selenium方法用于关闭弹出窗口,例如alert()。dismiss()但这意味着我知道弹出窗口何时显示,而我不会随机显示。
我想知道如何附加一个事件监听器,以便在这些模式弹出窗口显示并有一个可以关闭它的回调时。拜托,谢谢
答案 0 :(得分:0)
如果您知道触发弹出窗口的代码在哪里,您只需在webdriver中注入几行javascript并使弹出窗口无效。
例如,如果弹出窗口在几秒钟后出现并由以下代码触发:
setTimeout(function () {
showModal()
}, 5000);
您可以使用以下(Java)代码覆盖网页中的模态函数:
driver.executeScript("showModal = function () {}");
下次执行模态时,这将触发一个空函数。