调用RemoveDialogHandler时,IE7崩溃了

时间:2011-01-03 13:53:54

标签: internet-explorer-7 watin

我有这段代码:

FileDownloadHandler handler = new FileDownloadHandler(fileName);
Browser.AddDialogHandler(handler);
//using (new UseDialogOnce(Browser.DialogWatcher, handler))
//{
    Browser.Button(Find.ById("ButtonExportReport")).ClickNoWait();
    handler.WaitUntilFileDownloadDialogIsHandled(20);
    handler.WaitUntilDownloadCompleted(30);
    Console.WriteLine("download finish: " + handler.HasHandledFileDownloadDialog);
//}
Browser.RemoveDialogHandler(handler);

当我拨打Browser.RemoveDialogHandler时,Internet Explorer 7崩溃并显示以下消息:

  

“没有安装调试器   just_in-time debugging启用“

(我不知道如何调试IE7因为我只有CLR调试器,它只能调试托管代码)

你知道我应该怎么做吗?我应该寻找哪些信息?

由于

EDIT1:

实际上错误不是由.RemoveDialogHandler引起的 我添加了

ZvLogManager.Info("start wait");
Thread.Sleep(10000); // wait 10 seconds
ZvLogManager.Info("end wait");

.RemoveDialogHandler之前,我在“开始等待”和“结束等待”之间收到IE的错误消息。

因此文件下载会在5秒后崩溃。有什么想法吗?

编辑2:

我在WatiN中启用日志记录,然后得到:

  

[动作]:点击(无等待)按钮'ButtonExportReport',

     

[操作]:点击“& Save”

     

[操作]:点击“& Save”

     

[动作]:下午4:21:13开始下载

     

[动作]:点击保存

     

[操作]:将下载文件保存为c:\ temp \ export_file634296648679859966.xls

     

[操作]:点击“& Save”

     

[动作]:点击“关闭”

     

[动作]:下午4:21:17完成下载

     

INFO下载完成:真实

     

INFO开始等待

     

INFO结束等待

这不是很有帮助......

1 个答案:

答案 0 :(得分:0)

我最终在IE7崩溃的服务器上安装VS以调试IE(!!!)。我得到一个例外:“Unhandled exception in iexplore.exe Access violation reading location

点击后,我发现了这个website,它建议我重置所有设置:Options -> Advanced -> Reset Internet Explorer Settings

我没有再崩溃了!