内容简介:http://stackoverflow.com/questions/882683/watin-handling-confirm-dialogs-with-confirmdialoghandler
使用Watin,我试图处理一个确认对话框,并告诉Watin按“OK”.这在互联网上有很好的记录 – 您使用ConfirmDialogHandler和UseDialogOnce方法..除了它不适用于我.我收到以下错误:
WatiN.Core.Exceptions.WatiNException:对话框在5秒钟内不可用
我正在使用watin 2.0 beta atm,但是我以前使用的是早期版本的1.X,它具有相同的问题.在运行64位Vista的同事机器上进行测试,我运行的是64位Windows 7.
代码如下所示:
using (IE ie = new IE("http://localhost/TestApp/TestConfirmPage.asp"))
{
var approveConfirmDialog = new ConfirmDialogHandler();
using (new UseDialogOnce(ie.DialogWatcher, approveConfirmDialog))
{
ie.Button(Find.ByName("btn")).ClickNoWait();
approveConfirmDialog.WaitUntilExists(5);
approveConfirmDialog.OKButton.Click();
}
ie.WaitForComplete();
}
ASP页面非常简单,它包含一个强制确认的按钮,如下所示:
<input type="button" name="btn" id="btn" value="Click me" onclick="ConfirmApp()" />
而ConfirmApp已经被剥离了测试,所以现在它包含的是:
bOK = confirm("You clicked a popup. Did you mean to?");
return bOK;
代码对我来说很好,我认为它应该有效.唯一的想法是做不同的是把等待完成里面使用对话框块.不知道为什么,但在我这样做之前,我也有一些问题,有时它有时它不工作.而在等待直到存在的时候我不会使用时间限制.但是你可能已经尝试过了.
例如:
using (new UseDialogOnce(ie.DialogWatcher, approveConfirmDialog))
{
ie.Button(Find.ByName("btn")).ClickNoWait();
approveConfirmDialog.WaitUntilExists();
approveConfirmDialog.OKButton.Click();
ie.WaitForComplete();
}
http://stackoverflow.com/questions/882683/watin-handling-confirm-dialogs-with-confirmdialoghandler
以上所述就是小编给大家介绍的《c# – Watin – 使用ConfirmDialogHandler处理确认对话框》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
从界面到网络空间
(美)海姆 / 金吾伦/刘钢 / 上海科技教育出版社 / 2000-7 / 16.40元
计算机急剧改变了20世纪的生活。今天,我们凭借遍及全球的计算机网络加速了过去以广播、报纸和电视形式进行的交流。思想风驰电掣般在全球翻飞。仅在角落中潜伏着已完善的虚拟实在。在虚拟实在吕,我们能将自己沉浸于感官模拟,不仅对现实世界,也对假想世界。当我们开始在真实世界与虚拟世界之间转换时,迈克尔·海姆问,我们对实在的感觉如何改变?在〈从界面到网络空间〉中,海姆探讨了这一问题,以及信息时代其他哲学问题。他......一起来看看 《从界面到网络空间》 这本书的介绍吧!