在用C#下载完成后关闭对话框在用watin
问题描述:
我正在处理与我的应用中的WaTin对话框并用Watin保存文件。但是,在保存文件并下载完成后,另一个对话框保持打开状态使用三个按钮。 "Open"
"Open Folder"
"Close"
在用C#下载完成后关闭对话框在用watin
我想在下载完成时关闭此对话框。
FileDownloadHandler fileDownloadHandler = new FileDownloadHandler("Arslan");
browser.AddDialogHandler(fileDownloadHandler);
browser.Button("Save").ClickNoWait();
fileDownloadHandler.WaitUntilFileDownloadDialogIsHandled(15);
fileDownloadHandler.WaitUntilDownloadCompleted(200);
请提出任何出路,这
答
我曾遇到类似的问题和一些我观察到的事情
- 所有的对话框处理程序遇到了问题,当多个实例的浏览器已打开。当测试运行时只有一个浏览器实例打开时,我很少遇到问题。
- 除非从浏览器实例中删除对话框处理程序,否则在下次文件下载尝试期间几乎肯定会失败。
此外,您可能想要尝试增加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);
}
答
我下IE7有同样的问题。但删除处理程序为Ashish建议如果您下载多个文件,则无法执行该任务,因为删除处理程序将跳到下一个任务,这会在下一次迭代时导致错误。
所以最简单的解决方案是将IE7配置为在下载完成后自动关闭下载窗口。这是通过取消选中IE7下的“下载完成时通知”选项来完成的 - >Intenet options
- >Advanced
- >Browsing
- >Notify when downloads are complete
。