最初使用HtmlUnit执行Javascript后从网站获取数据

时间:2013-06-21 09:53:01

标签: java javascript htmlunit

我正在写关于数独游戏的学士论文。为此我需要很多Sudokus并想到编写程序来下载一些。 首先,我想集中在一页: http://view.websudoku.com/

我需要的td元素的ID是'c00'到'c88'

我玩HtmlUnit并找到了获取这些元素的方法:

java.util.logging.Logger.getLogger("com.gargoylesoftware")
                .setLevel(java.util.logging.Level.OFF);

WebClient webClient = new WebClient();
String url = "http://view.websudoku.com/?";
System.out.println("Loading page now: " + url);
HtmlPage page = webClient.getPage(url);
webClient.waitForBackgroundJavaScript(30 * 1000);

for(int i = 0; i < 9; i++) {
    for(int j = 0; j < 9; j++) {
        System.out.println(page.getElementById("c" + i + j));
    }
}

所以这让我得到了正确的元素。问题是,元素内容(特别是填写的数字)是由javascript生成的。 上面的代码只获取空字段,而不是填充的字段,因为它们稍后会被填充。

我该如何处理这个问题? 我找不到HtmlUnit的最新帮助。它已经过时了吗?有没有更好的图书馆?

0 个答案:

没有答案