如何使用 selenium java 在 chrome 中识别正在进行的下载?

我如何确定下载未完成/正在进行?因为我想在下载完成后关闭网络驱动程序。


WebDriver: Chrome

像这样的示例代码,假设 chrome 驱动程序设置已准备就绪。


@Test

public void testDownloadPdf(){

// here is the selenium java code to download pdf.

// when do i perform driver.close();

}


杨魅力
浏览 368回答 2
2回答

梵蒂冈之花

一般来说,最好在@AfterClass. 如果您知道确切的文件名和预期位置,则可以使用PathsString file_path_full = "C:\\users\\username\\downloads\\yourpdffile.pdf";while(Files.notExists(Paths.get(file_path_full))) {Thread.sleep(10000);}

拉风的咖菲猫

我发现了这个......它在我的情况下工作在这里我正在使用FileUtils.sizeOfDirectory(downloadfolder)它会返回目录的大小并在每 5 秒后检查大小是否相等。如果文件大小相等则下载完成。private void waitForDownloadFinished() throws Exception {            try {                String path = "/Download/path/";                if (path != null) {                    File folder = new File(path);                    long size, reSize;                    do {                        size = FileUtils.sizeOfDirectory(folder);                        Thread.sleep(5000);                        reSize = FileUtils.sizeOfDirectory(folder);                    } while (size != reSize);                    System.out.println("Download completed");                }           } catch (Exception e) {                e.printStackTrace();                throw e;            } finally {                getWebBrowser().quit();            }        }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java