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

How to handle SaveAs PopUp in IE in .Net

我有一些程序可以登录到网站并尝试下载文件,现在我正在使用 WatIn 和 User32 FindWindowEx 找到“另存为”对话框并发送带有选项卡的 PostMessage 并输入以按“保存”按钮

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);

这有效,但并非所有时间。

这是受保护的网站,所以我看不到 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);

我需要一些可以处理这个弹出对话框的方法,并且没有 UI,因为用户 Pc 可以被锁定,所以即使用户 windows 被锁定,这也必须工作。

*我没有看到 downloadURL sow WebClient.DownloadFileAsync(url,Path) 将不起作用

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

请参考post。但是 post 中的解决方案需要桌面的活动会话。