我正在尝试在弹出的对话框中单击“确定”。我读过 IE9 不能很好地与 WatiN 的对话框处理程序配合使用。我正在使用 WatiN-2.1.0.1196-net-4.0。
下面是我的方法。基本上它会进入警报页面。在该页面上,您可以单击每行单独删除或选择多个复选框并批量删除。我抓住了单个警报删除按钮集合中的第一个删除按钮,并检查它是否存在。如果是这样,请单击全选按钮,然后单击删除所有选定的警报按钮。
到目前为止,一切似乎都正常,现在确认删除的对话框已经启动。然后该方法在 browser.waituntilexists() 上超时。
我尝试增加等待时间,并尝试将处理程序类型切换为 DialogHandler、ConfirmDialogHandler、AlertDialogHandler 等。它们似乎都没有找到弹出的对话框窗口。
我需要一个解决方法,以便我可以确认此对话框。
private void DeleteAlerts(Browser browser)
{
browser.GoTo(URLs.CompleteUrl + "/alerts.aspx?apid=" + PID);
while (browser.Page<AlertsAspx>().deleteMessage.Exists)
{
var handler = new ConfirmDialogHandler();
browser.Page<AlertsAspx>().SelectAll.Click();
using (new UseDialogOnce(browser.DialogWatcher, handler))
{
//Assert.Fail("Never Sees Dialog");
browser.Page<AlertsAspx>().Delete.ClickNoWait();
handler.WaitUntilExists(50);
handler.OKButton.Click();
browser.WaitForComplete();
}
}
}