URL 中用于 webdriver 的通配符

wildcard in URL for webdriver

您好,我有一个关于 URL 的小问题,我需要验证 PDF 文件,我必须先下载它。我在下面使用此代码:

    URL TestURL2 = new URL("file:///C:/Users/Ludek/Downloads/katalog_dokument_53766_test.pdf");
    BufferedInputStream TestFile = new BufferedInputStream(TestURL2.openStream());
    PDFParser TestPDF2 = new PDFParser(TestFile);
    TestPDF2.parse();
    String TestText2 = new PDFTextStripper().getText(TestPDF2.getPDDocument());
    try {
        assertTrue(TestText2.contains("Text PDF"));
        System.out.println("it's  OK");
    } catch (Error e) {
        verificationErrors.append(e.toString());
        System.out.println("not OK!!!");
    }

但是文件名中的数字53766每次都不一样。我可以使用一些通配符或其他东西吗? 有人可以告诉我吗?谢谢

如果您的文件夹中只有一个文件 - 您的 pdf,您可以使用类似于此的代码:

 string[] files = System.IO.Directory.GetFiles(@"C:/Users/Ludek/Downloads/", "*.pdf");

在下载过程之前,您可以随时删除文件夹中的所有文件,甚至可以始终指定一个唯一的下载文件夹,这样只有您的文件会在那里,您在验证时可以确定。

我使用了这个解决方案,它简单而且有效。

  File f = new File("C:/Users/Ludek/Downloads/");
        FilenameFilter textFilter = new FilenameFilter() {
            public boolean accept(File dir, String name) {
                return name.toLowerCase().endsWith(".pdf");
            }
        };
        File[] files = f.listFiles(textFilter);
        for (File file : files) {
            String URL =  file.getCanonicalPath().substring(25);
            URL TestURL2 = new URL("file:C:/Users/Ludek/Downloads/" + URL);