如何在.Net中处理IE中的SaveAs PopUp

时间:2015-05-17 06:51:02

标签: c# .net watin user32

我有一些登录webSite并尝试下载文件的程序,现在我正在使用WatIn和User32 FindWindowEx查找SaveAs对话框并使用tab发送PostMessage并输入按Save按钮

MainPopUp = browserToRun.hWnd.ToInt32();
int currChild = FindWindowEx(MainPopUp, 0, ClassName, WindowName);
PostMessage(currChild, WM_KEYDOWN, VK_TAB, 2);
PostMessage(currChild, WM_KEYDOWN, VK_ENTER, 2);

这可行,但不是所有时间。

这是安全的webSite母猪,我看不到DownloadUrl,我无法使用

[DllImport("urlmon.dll", CharSet = CharSet.Auto, SetLastError = true)] static extern Int32 URLDownloadToFile(Int32 pCaller, string szURL, string szFileName, Int32 dwReserved, Int32 lpfnCB);

int response = URLDownloadToFile(0, browserToRun.Button(Find.ById("btnExcelExport")).Url, @"C:\Users\vladimirp\VN.xls", 0, 0);

我需要一些可以处理这个PopUp对话框的mothed,并且没有UI,因为User Pc可以被锁定,播种即使用户窗口被锁定也必须工作。

*我没有看到downloadURL播种WebClient.DownloadFileAsync(url,Path)无法正常工作

有人知道如何处理IE保存对话框吗? .Net c#

1 个答案:

答案 0 :(得分:1)

请参阅Handling File Download PopUp 帖子。但是,该帖子中的解决方案需要桌面的活动会话。