如何右键单击,使用WatiN保存目标?

时间:2011-08-09 15:26:27

标签: c# integration-testing watin

我见过使用WatiN保存文件的各种解决方案。

我目前的问题与其他描述类似,我需要保存PDF文件,但有一个注册表项告诉IE在新窗口中自动打开PDF,而不是保存它。

理想情况下,我可以删除该注册表项并继续。但是,我们的安全政策禁止我这样做(呃。)

我正在寻找一种方法来查找链接,右键单击并保存 - 使用内置的WatiN机制,而不是在user32.dll中使用mouse_event。

这可能吗?

感谢您的帮助!

1 个答案:

答案 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");
   }
}