Java-等待下载部分文件名的文件

Java-等待下载部分文件名的文件,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我正在尝试使用fluent wait等待下载文件。但由于文件下载的日期格式不同。我想使用fluentWait验证文件的“部分文件名”。例如:取消日期:2019年7月9日,取消日期:2019年9月7日。因此,这里的文件名“Cancelled_”保持不变 下面的代码适用于实际文件名 Downloaded_report= new File("DownloadPath"); FluentWait<WebDriver> wait = new FluentWait<WebDriver>

我正在尝试使用fluent wait等待下载文件。但由于文件下载的日期格式不同。我想使用fluentWait验证文件的“部分文件名”。例如:取消日期:2019年7月9日,取消日期:2019年9月7日。因此,这里的文件名“Cancelled_”保持不变

下面的代码适用于实际文件名

Downloaded_report= new File("DownloadPath");
FluentWait<WebDriver> wait = new FluentWait<WebDriver>(driver);
        wait.pollingEvery(1, TimeUnit.SECONDS);
        wait.withTimeout(15, TimeUnit.SECONDS);
        wait.until(x -> downloaded_report.exists());
Downloaded_report=新文件(“DownloadPath”);
FluentWait=新FluentWait(驱动程序);
wait.pollingEvery(1,TimeUnit.SECONDS);
wait.withTimeout(15,TimeUnit.SECONDS);
等待.直到(x->下载的_report.exists());
在这里,我想检查文件名的开始。我该怎么做?
提前感谢

我不确定我是否正确理解了这个问题,但您可以检查给定目录中是否存在具有部分名称的文件

File dir = new File("DownloadPath");
String partialName = downloaded_report.split("_")[0].concat("_"); //get cancelled and add underscore
FluentWait<WebDriver> wait = new FluentWait<WebDriver>(driver);
        wait.pollingEvery(1, TimeUnit.SECONDS);
        wait.withTimeout(15, TimeUnit.SECONDS);
        wait.until(x -> {
            File[] filesInDir = dir.listFiles();
            for (File fileInDir : filesInDir) {
                if (fileInDir.getName().startsWith(partialName)) {
                    return true;
                }
            }
            return false;
        });
File dir=新文件(“下载路径”);
String partialName=download_report.split(“”)[0]。concat(“”)//取消并添加下划线
FluentWait=新FluentWait(驱动程序);
wait.pollingEvery(1,TimeUnit.SECONDS);
wait.withTimeout(15,TimeUnit.SECONDS);
等待。直到(x->{
File[]filesInDir=dir.listFiles();
用于(文件文件索引器:文件索引器){
if(fileinder.getName().startsWith(partialName)){
返回true;
}
}
返回false;
});
在上面的代码中,我们列出了下载路径目录中的所有文件。然后,迭代每个文件,获取其名称并检查它是否包含我们想要的部分名称


如果目录中有多个报表,则可能会出现问题。然后,我建议在挂钩之前,以某种形式的
@清除以
取消
开头的文件中的
DownloadPath

是否已检查此选项,以确保脚本等待文件下载完成。您好,支持URI,是的,我看过这篇文章,但是我在这里使用的代码也很好用。但唯一的问题是,我想用fluent wait检查“部分文件名”是否存在,而不是实际的文件名。您的意思是检查文件名是否包含您要传递的“部分文件名”吗?是的,如果您看到提供的示例-文件名的前半部分保持不变。因此,我想根据我将要传递的“部分名称”检查文件是否存在。非常感谢,这正是我要查找的。