我见过使用WatiN保存文件的各种解决方案。
我目前的问题与其他描述类似,我需要保存PDF文件,但有一个注册表项告诉IE在新窗口中自动打开PDF,而不是保存它。
理想情况下,我可以删除该注册表项并继续。但是,我们的安全政策禁止我这样做(呃。)
我正在寻找一种方法来查找链接,右键单击并保存 - 使用内置的WatiN机制,而不是在user32.dll中使用mouse_event。
这可能吗?
感谢您的帮助!
答案 0 :(得分:-1)
这是一个非常古老的问题,但作为其他人的参考,我会发布一个解决方案。
我认为您所考虑的方法是不正确的。如果您有PDF的链接,那么您确实拥有PDF的地址(即使您必须通过其他页面形成最终下载URL,无论如何都可以使用Watin模拟),如果您确实拥有该地址PDF文件然后你应该下载它:
此时你应该得到链接href字符串(应该包含你要下载的文件)
using (WebClient client = new WebClient())
{
string DownloadFolder = @"C:\DownloadFolder";
if (Directory.Exists(DownloadFolder))
{
string downloadURL = "https://www.somesite.com/somepath/filename.pdf"; // this should come from the href on the a link.
client.DownloadFile(downloadURL, DownloadFolder + "\\somefilenam.pdf");
}
}