我需要使用selenium来验证下载。我需要单击下载文件链接并检查它是否可下载。 (意味着下载是否开始) 我需要为此创建一个简单的HTML脚本。但是,由于Selenium不承认“另存为”。文件下载对话框,我无法继续。 Selenium中是否有任何解决方案。我不能使用任何其他第三方工具,因为这是集中式UI测试脚本的一部分。 提前谢谢。
答案 0 :(得分:0)
我的解决方案(在C#中)是获取要下载的文件的Url和任何cookie并使用WebClient发出请求:
var testLink = seleniumDriver.FindElement(By.LinkText("Link to file"));
var pdfHref = testLink.GetAttribute("href");
var manage = seleniumDriver.Manage();
var cookies = manage.Cookies.AllCookies;
using (var wc = new WebClient())
{
foreach (var cookie in cookies)
{
var cookieText = cookie.Name + "=" + cookie.Value;
wc.Headers.Add(HttpRequestHeader.Cookie, cookieText);
}
var fileResult = wc.DownloadData(new Uri(pdfHref));
// or use wc.DownloadString or wc.DownloadFile
// Do any test required
}