Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java中使用SeleniumWebDriver计算下载文件大小、状态、剩余时间和传输速率_Java_Selenium_Selenium Webdriver - Fatal编程技术网

如何在java中使用SeleniumWebDriver计算下载文件大小、状态、剩余时间和传输速率

如何在java中使用SeleniumWebDriver计算下载文件大小、状态、剩余时间和传输速率,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我编写了一个脚本,使用Java中的SeleniumWebDriver从网站下载文件。我可以从网站下载文件,但我想添加更多关于下载文件的内容,如文件大小、状态、剩余时间和传输速率 下面是我的java代码: public class Downloadfile { public static void main(String[] args) throws MalformedURLException, IOException { List<String> uniqurl = ne

我编写了一个脚本,使用Java中的SeleniumWebDriver从网站下载文件。我可以从网站下载文件,但我想添加更多关于下载文件的内容,如文件大小、状态、剩余时间和传输速率

下面是我的java代码:

public class Downloadfile {

public static void main(String[] args) throws MalformedURLException, IOException {

    List<String> uniqurl = new ArrayList();

    // Initialize Webdriver driver   
    WebDriver driver = new HtmlUnitDriver();
    // Go to pdf page  
    driver.get("http://www.banglakitab.com/MaulanaNurulIslamOlipuri.htm");
    // get all page urls  
    List<WebElement> urllist = driver.findElements(By.tagName("a"));

    for (WebElement elemnet : urllist) {
        String downloadfileurl = elemnet.getAttribute("href").trim();
        //check mp3 url  
        if (downloadfileurl.contains(".mp3")) {
            // check  unique download file 
            if (!(uniqurl.contains(downloadfileurl))) {
                uniqurl.add(downloadfileurl);
                File file = new File(downloadfileurl);
                //print file name 
                System.out.println(file.getName().replaceAll("%20", " "));

                //download file  
                URL url = new URL(downloadfileurl);
                InputStream in = new BufferedInputStream(url.openStream());
                OutputStream out = new BufferedOutputStream(new FileOutputStream(file.getName().replaceAll("%20", " ")));

                for (int i; (i = in.read()) != -1;) {
                    out.write(i);
                }
                in.close();
                out.close();

            }
        }
    }

    // close driver    
    driver.quit();

  }
}
公共类下载文件{
publicstaticvoidmain(字符串[]args)引发畸形的DurLexException、IOException{
List uniqurl=new ArrayList();
//初始化Webdriver驱动程序
WebDriver driver=新的HtmlUnitDriver();
//转到pdf页面
驱动程序。获取(“http://www.banglakitab.com/MaulanaNurulIslamOlipuri.htm");
//获取所有页面URL
List urlist=driver.findElements(按.tagName(“a”));
for(WebElement元素:URL列表){
String downloadfileurl=elemnet.getAttribute(“href”).trim();
//检查mp3 url
if(downloadfileurl.contains(“.mp3”)){
//检查唯一下载文件
如果(!(uniqurl.contains(downloadfileurl))){
添加(下载文件URL);
文件=新文件(下载文件URL);
//打印文件名
System.out.println(file.getName().replaceAll(“%20”和“);
//下载文件
URL URL=新URL(下载文件URL);
InputStream in=new BufferedInputStream(url.openStream());
OutputStream out=新的BufferedOutputStream(新文件OutputStream(file.getName().replaceAll(“%20”和“)));
对于(int i;(i=in.read())!=-1;){
写出(i);
}
in.close();
out.close();
}
}
}
//关闭驱动器
driver.quit();
}
}
如何计算下载文件大小、状态、剩余时间和传输速率。

URLConnection connection = url.openConnection();
long aFileLength = connection.getContentLengthLong();
对于其他内容,google:java文件下载监控进度

希望这有帮助