我知道模态对话框是一个警报或子窗口,根据Wikipedia的说法,“要求用户在返回操作父应用程序之前与其交互”。
我在 HTML 页面中发现的所有模式对话框实例都是简单<div>
的元素,例如JQuery 对话框。其中一些确实通过覆盖阻止了用户与主页的交互,但有些甚至不是“模态的”,因为用户可以在对话框存在时轻松地与主页交互。
我问这个是因为我的一个 Selenium 测试收到了 UnhandledAlertException: "Modal dialog present"。我想知道:Selenium 是如何知道存在模态对话框的?看到 HTML 页面上的许多<div>
元素,是什么特殊属性使其中一个成为“对话框”而其他所有元素都不是?导致对话框变为“模态”的第二个属性是什么?