我已经看到一些问题,询问是否可以检查特定下载是否已完成,或者是否已成功完成特定下载。 (答案似乎不是。)
我想知道的是:是否可以查看selenium当前是否正在下载任何文件?即无论是一个文件还是20个都没关系。像小布尔检查这样的东西是理想的。
答案 0 :(得分:1)
当Chrome正在下载文件时,您可以在下载文件夹中查看Chrome使用的临时文件(* .crdownload
)。当下载完成时,该文件被实际的文件名/类型“替换”。
/// <summary>
/// Looks for a file with the given extension (Example: "*.crdownload") in the current user's "Download" folder.
/// </summary>
public static string LocateDownloadedFile(string fileExtension)
{
// Get the default downloads folder for the current user
string downloadFolderPath = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\Downloads";
DirectoryInfo di = new DirectoryInfo(downloadFolderPath);
FileInfo[] filesFound = di.GetFiles(fileExtension);
if (filesFound.Length == 0)
{
// do stuff
}
else
{
// do other stuff
}
}