如何使用watin下载文件?我经常搜索并尝试但我无法得到它。 我只想点击下载并保存的链接。我使用了我发现的例子但没有成功。问题是我使用“WaitUntilFileDownloadDialogIsHandled(15)”但是15秒传递并抛出异常:WatiN.Core.Exceptions.WatiNException:15秒后没有显示对话框。
这是代码:
FileDownloadHandler download = new FileDownloadHandler("C:/Development/Test/Downloads/" + "excel" + ".xls");
using (new UseDialogOnce(browser.DialogWatcher, download))
{
browser.Button(Find.ById("id_of_the_button")).ClickNoWait();
download.WaitUntilFileDownloadDialogIsHandled(15);
download.WaitUntilDownloadCompleted(150);
browser.RemoveDialogHandler(download);
}
请帮忙!
答案 0 :(得分:2)
我确实发现了一个困扰我的问题
FileDownloadHandler handler = new FileDownloadHandler(@"c:\temp\file.csv");
browser.DialogWatcher.CloseUnhandledDialogs = false;
using (new UseDialogOnce(browser.DialogWatcher, handler))
{
browser.Link(Find.ByText("July2011")).Click();
handler.WaitUntilFileDownloadDialogIsHandled(15);
handler.WaitUntilDownloadCompleted(240);
}
请注意包含“CloseUnhandledDialogs = false”行。我的保存对话框弹出窗口立即消失,我花了很长时间才意识到发生了什么。
答案 1 :(得分:0)
我使用了以下完全正常的代码片段
FileDownloadHandler download = new FileDownloadHandler("C:\\Development\\Test\\Downloads\\" + "excel" + ".xls");
browser.AddDialogHandler(download);
browser.Button(Find.ById("id_of_the_button")).ClickNoWait();
download.WaitUntilFileDownloadDialogIsHandled(15);
download.WaitUntilDownloadCompleted(150);
browser.RemoveDialogHandler(download);
我使用的代码片段的唯一区别是我使用了带有转义字符的反斜杠,并且我添加并删除了没有使用块的DialogHandler。
~Ashish Narmen