Firefox中的“ WatiN处理确认”对话框
|
我在SO上发现此代码可以自动关闭确认对话框,但在Firefox中不起作用。
问题是
var windowButton = new WindowsEnumerator().GetChildWindows(window.Hwnd, w => w.ClassName == \"Button\"
&& new WinButton(w.Hwnd).Title == \"OK\").FirstOrDefault();
始终返回null。还有另一种方法可以在firefox中获取对话框按钮的句柄吗?
public class OKDialogHandler : BaseDialogHandler {
public override bool HandleDialog(Window window) {
var button = GetOKButton(window);
if (button != null) {
button.Click();
return true;
} else {
return false;
}
}
public override bool CanHandleDialog(Window window) {
return GetOKButton(window) != null;
}
private WinButton GetOKButton(Window window) {
var windowButton = new WindowsEnumerator().GetChildWindows(window.Hwnd, w => w.ClassName == \"Button\"
&& new WinButton(w.Hwnd).Title == \"OK\").FirstOrDefault();
if (windowButton == null)
return null;
else
return new WinButton(windowButton.Hwnd);
}
}
没有找到相关结果
已邀请:
1 个回复
习让休堂溯
的新
类。在构造函数中,您可以传入出现对话框的Firefox实例,并且可以使用以下代码将JavaScript发送给Firefox来操纵对话框:
您可以使用下面的JavaScript在alert()或Confirm()对话框上单击“确定”和“取消”按钮。
http://pastebin.com/ZapXr9Yf提供了更完整的实现,该实现将本机IE alert()和Confirm()处理包装在一个通用界面中,并添加了Firefox处理。