【问题标题】:How can you right-click, save target as using WatiN?您如何右键单击,将目标保存为使用 WatiN?
【发布时间】:2011-08-09 15:26:27
【问题描述】:
我见过各种使用 WatiN 保存文件的解决方案。
我当前的问题与描述的其他问题类似,我需要保存一个 PDF 文件,但有一个注册表项告诉 IE 在新窗口中自动打开 PDF,而不是保存它。
理想情况下,我可以删除该注册表项并继续。但是,我们的安全政策禁止我这样做(呃。)
我正在寻找一种使用内置 WatiN 机制而不是在 user32.dll 中使用 mouse_event 来查找链接、右键单击和另存为的方法。
这可能吗?
感谢您的帮助!
【问题讨论】:
标签:
c#
integration-testing
watin
【解决方案1】:
这是一个非常古老的问题,但作为其他人的参考,我将发布解决方案。
我认为您考虑的方法是不正确的。如果您确实有指向 PDF 的链接,那么您确实有 PDF 的地址(即使您必须通过其他页面来形成最终下载 URL,无论如何您都可以使用 Watin 进行模拟)如果您确实有 PDF 的地址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");
}
}