0

我正在我的应用程序中使用 WaTin 处理对话框,并使用 Watin 保存文件。但是在保存文件并下载完成后,另一个对话框仍然打开,带有三个按钮。"Open" "Open Folder" "Close"

我想在下载完成后关闭此对话框。

 FileDownloadHandler fileDownloadHandler = new FileDownloadHandler("Arslan");
            browser.AddDialogHandler(fileDownloadHandler);
            browser.Button("Save").ClickNoWait();
            fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(15);
            fileDownloadHandler.WaitUntilDownloadCompleted(200);

请为此提出任何出路

4

2 回答 2

0

我在IE7下遇到了同样的问题。但是,如果您正在下载多个文件,则按照Ashish的建议删除处理程序无法执行该任务,因为删除处理程序只会跳到下一个任务,这将导致下一次迭代出错。
所以最简单的解决办法就是配置IE7下载完成后自动关闭下载窗口。这是通过取消选中 IE7 Under -> Intenet options-> Advanced-> Browsing->上的“下载完成时通知”选项来完成的Notify when downloads are complete

于 2015-01-13T14:56:55.433 回答
0

我遇到了类似的问题,我观察到的一些事情是

  1. 当打开多个浏览器实例时,所有对话框处理程序都会遇到问题。当测试运行时只打开一个浏览器实例时,我很少遇到问题。
  2. 除非从浏览器实例中删除对话框处理程序,否则在下一次文件下载尝试期间它几乎肯定会失败。

此外,您可能想尝试增加 WaitUntilFileDownloadDialogIsHandled 超时。

FileDownloadHandler fileDownloadHandler = new FileDownloadHandler(downloadlocation);
try
{
    Button button = browser.Button(Find.ByText("Save"));
    browser.AddDialogHandler(fileDownloadHandler);
    button.ClickNoWait();
    fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(40);
    fileDownloadHandler.WaitUntilDownloadCompleted(200);

}
catch (Exception excp)
{
    /// Log exception message
}
finally
{
    /// Remove the dialog handler
    browser.RemoveDialogHandler(fileDownloadHandler);
}
于 2012-08-31T10:42:37.770 回答