如果文件每天都在增加,那么如何验证SeleniumJava中完全下载的文件

如果文件每天都在增加,那么如何验证SeleniumJava中完全下载的文件,java,eclipse,selenium,download,automation,Java,Eclipse,Selenium,Download,Automation,我可以在internet上看到检查文件名和验证文件是否已下载的选项,另一个选项是检查文件大小以确保文件已完全下载,但如果文件每天都在增加,是否有其他方法可以完全验证文件下载。我正在下载的文件超过500 MB,并且将一天比一天增加,因此我如何用selenium java编写代码,以便它检查文件并确保100%下载 我对自动化的要求是每天运行自动化脚本并下载文件 有人能给我指点一下吗?我用了一段代码来下载文件。只需更改filePathFull并在waitSec(driver,int)中增加超时时间 p

我可以在internet上看到检查文件名和验证文件是否已下载的选项,另一个选项是检查文件大小以确保文件已完全下载,但如果文件每天都在增加,是否有其他方法可以完全验证文件下载。我正在下载的文件超过500 MB,并且将一天比一天增加,因此我如何用selenium java编写代码,以便它检查文件并确保100%下载

我对自动化的要求是每天运行自动化脚本并下载文件


有人能给我指点一下吗?

我用了一段代码来下载文件。只需更改
filePathFull
并在
waitSec(driver,int)
中增加超时时间

public-WebDriverWait-waitSec(WebDriver-driver,int-sec){返回新的WebDriverWait(driver,sec);}
字符串filePathFull=stahovani+“exportFeedbacks”+urlCast1.split(“/”[9]+.csv”;
waitSec(驱动程序,30).until(新函数(){
公共布尔应用(WebDriver驱动程序){
如果(Files.exists(path.get(filePathFull))){
返回true;
}
否则{
试一试{
睡眠(1000);
} 
捕捉(中断异常e){
}
} 
返回false;
}
});
File exportFile=新文件(filePathFull);
if(Files.size(path.get(filePathFull))=0{
试一试{
waitSec(驱动程序,120).直到(新函数(){
公共布尔应用(WebDriver驱动程序){
试一试{
如果(Files.size(path.get(filePathFull))>0{
返回true;
}
否则{
试一试{
睡眠(1000);
} 
捕捉(中断异常e){
}
}
}
捕获(IOE){
}
返回false;
}
});
} 
捕获(超时异常e){
}
}

始终有一个.part文件,在下载完成之前,原始文件(在我的示例中为csv)的大小为零。

感谢您的代码回复。如果我错了,请纠正我,因为我是自动化的初学者-据我所知,它将检查文件是否存在,并检查文件大小是否大于0。我说得对吗?我试图下载500 mb的zip文件,这将是每天增加,然后我将该文件转换为CSV文件,并重命名为日期格式。我有转换为CSV和重命名的代码,但只是想知道,如果代码在下载时开始转换文件,它不会中断流程,因为我们的条件将在大小大于0后通过。是的,它会检查文件是否存在(大小为零),然后检查大小是否大于零。它不会中断,因为在下载100%完成之前,file.zip的大小为零,并且存在临时文件file.zip.part。试试看,如果对你有帮助,请把我的答案标记为有帮助。谢谢。非常感谢你的回复。这可以用于CSV文件下载也因为我必须下载CSV文件也。您认为下面的代码可以处理这种情况吗。File file1=新文件(“File path.csv”);而(!file1.exists()){文件扩展名是字符串filePathFull的一部分。您可以将其用于任何需要的文件扩展名。
    public WebDriverWait waitSec(WebDriver driver, int sec) {return new WebDriverWait(driver, sec);}

    String filePathFull = stahovani + "exportFeedbacks_" + urlCast1.split("/")[9] + ".csv";

    waitSec(driver, 30).until(new Function<WebDriver, Boolean>() {
        public Boolean apply(WebDriver driver) {
            if(Files.exists(Paths.get(filePathFull))) {
                return true;
            }
            else {
                try {
                    Thread.sleep(1000);
                    } 
                catch (InterruptedException e) {
                }
            } 
        return false;
        }
    });

    File exportFile = new File(filePathFull);
        if (Files.size(Paths.get(filePathFull)) == 0) {
            try {
                waitSec(driver, 120).until(new Function<WebDriver, Boolean>() {
                    public Boolean apply(WebDriver driver) {
                        try {
                            if(Files.size(Paths.get(filePathFull)) > 0) {
                                return true;
                                }
                            else {
                                try {
                                    Thread.sleep(1000);
                                    } 
                                catch (InterruptedException e) {
                                    }
                                }
                            }
                        catch (IOException e) {                         
                        }
                        return false;
                    }
                });
            } 
            catch (TimeoutException e) {
        }
    }