我想在单击上单击一个下载文件的按钮,并测试是否已下载所需的文件。

我已经用谷歌搜索过,但是不幸的是没有找到关于该主题的任何具体答案,我发现的很多帖子已经过时了(2014年),我敢打赌Selenium现在必须已经更改了API定义。

最佳答案

此代码验证文件是否已下载然后删除。

private static bool CheckFileDownloaded(string filename)
{
    bool exist = false;
    string Path = System.Environment.GetEnvironmentVariable("USERPROFILE") + "\\Downloads";
    string[] filePaths = Directory.GetFiles(Path);
    foreach (string p in filePaths)
    {
        if(p.Contains(filename))
        {
            FileInfo thisFile = new FileInfo(p);
            //Check the file that are downloaded in the last 3 minutes
            if (thisFile.LastWriteTime.ToShortTimeString() == DateTime.Now.ToShortTimeString() ||
            thisFile.LastWriteTime.AddMinutes(1).ToShortTimeString() == DateTime.Now.ToShortTimeString() ||
            thisFile.LastWriteTime.AddMinutes(2).ToShortTimeString() == DateTime.Now.ToShortTimeString() ||
            thisFile.LastWriteTime.AddMinutes(3).ToShortTimeString() == DateTime.Now.ToShortTimeString())
            exist = true;
            File.Delete(p);
            break;
        }
    }
    return exist;
}

希望这可以帮助。 C#中的代码。

08-28 21:12