我使用WatiN自动执行与多个网站之间的文件传输(EDI交易),不幸的是,FTP或任何更加自动化的选项都不是一种选择。对于下载,我使用此示例的变体:
FileDownloadHandler download = new FileDownloadHandler(fullFilename);
using (new UseDialogOnce(ie.DialogWatcher, download))
{
lnkFile.ClickNoWait();
download.WaitUntilFileDownloadDialogIsHandled(15);
download.WaitUntilDownloadCompleted(150);
}
这很好用,唯一的问题是它需要专注。有几十个文件要下载可能需要一段时间才能完成,这并不罕见。我在一个远程会话中运行它,所以我的机器不能用,但如果有任何方法可以消除对焦的需要,那就方便了。
答案 0 :(得分:1)
我无法直接帮助WatiN,但我知道(自己使用它)iMacros for IE或iMacros for Firefox 不需要关注文件下载。您可以通过command line使用开源免费版本,也可以通过COM接口使用商业版本。
请参阅ONDOWNLOAD命令。
答案 1 :(得分:1)
我会使用WebClient类而不是Watin。 http://msdn.microsoft.com/en-us/library/system.net.webclient.aspx
应该能够使用该类上传和下载文件。