检查是否正在下载Seleniums chrome webbrowser

时间:2017-06-07 15:35:29

标签: selenium selenium-webdriver selenium-chromedriver

我已经看到一些问题,询问是否可以检查特定下载是否已完成,或者是否已成功完成特定下载。 (答案似乎不是。)

我想知道的是:是否可以查看selenium当前是否正在下载任何文件?即无论是一个文件还是20个都没关系。像小布尔检查这样的东西是理想的。

1 个答案:

答案 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
    }
}