我正在做一些selenium web测试,在这个网站上,我正在自动化一个模式弹出窗口,有时会随机出现,这会阻止我获取其他元素。我知道有一些内置的Selenium方法可以关闭弹出窗口,比如alert().sdisse(),但这意味着我知道弹出窗口什么时候会出现,而我不知道它是随机出现的。
我想知道如何在这些模式弹出窗口出现时附加一个事件侦听器,并有一个回调来关闭它。请并感谢
如果你知道触发弹出窗口的代码在哪里,你可以简单地在webdriver中注入几行javascript并取消弹出窗口。
例如,如果弹出窗口在几秒钟后出现,并由以下代码触发:
setTimeout(function () {
showModal()
}, 5000);
您可以使用以下(Java)代码覆盖网页中的模态函数:
driver.executeScript("showModal = function () {}");
下一次执行模态时,这将触发一个空函数。