如何知道网页是否在java中完全加载

时间:2014-01-27 07:30:23

标签: java parsing loading

我正在使用java从网页获取一些信息。 问题是我需要的信息是由JavaScript函数生成的。如何获取此信息,因为下面的代码在完全加载之前只显示页面信息(这意味着我只能获得页面的帧)。

CODE1。

URL target = new URL()
HttpURLConnection con = (HttpURLConnection)target.openConnection();
StringBuffer sb = new StringBuffer();
String line = "";
BufferedReader br = null

try {
    br = new BufferedReader(new InputStreamReader(con.getInputStream()));

    while((line = br.readLine()) != null){
        sb.append(line);
    }
} catch(Exception e){
    e.printStackTrace();
}

有没有办法知道页面何时在java中完全加载? (额外的库可以是一个答案,但我希望只在java中这样做)。感谢。

2 个答案:

答案 0 :(得分:3)

你正在从java发出HTTP请求,这会返回一个文本流,“页面加载”的概念是一个与浏览器相关的概念,浏览器请求页面的内容(与你正在做的相同),然后呈现页面并执行Javascript。它是执行Javascript的浏览器。

如果你只想用Java制作它,你需要实现一个无头浏览器(一个没有用户界面的浏览器),或者至少在你正在加载和执行它的页面中获取Javascript。在纯Java中从头开始执行此操作并非易事,请查看HtmlUnit以获取示例。

答案 1 :(得分:1)

Java不会执行任何客户端JavaScript。它会读它。如果您需要浏览器,请使用浏览器。