为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

杨魅力 2021-09-29 15:22:17
我如何确定下载未完成/正在进行?因为我想在下载完成后关闭网络驱动程序。WebDriver: Chrome像这样的示例代码,假设 chrome 驱动程序设置已准备就绪。@Testpublic void testDownloadPdf(){// here is the selenium java code to download pdf.// when do i perform driver.close();}
查看完整描述

2 回答

?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

一般来说,最好在@AfterClass. 如果您知道确切的文件名和预期位置,则可以使用Paths


String file_path_full = "C:\\users\\username\\downloads\\yourpdffile.pdf";

while(Files.notExists(Paths.get(file_path_full))) {Thread.sleep(10000);}


查看完整回答
反对 回复 2021-09-29
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

我发现了这个......它在我的情况下工作在这里我正在使用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();

            }

        }


查看完整回答
反对 回复 2021-09-29
  • 2 回答
  • 0 关注
  • 367 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信