2

我正在写关于数独游戏的学士论文。为此,我需要大量的数独,并考虑编写一个程序来下载一些数独。首先,我想专注于一页: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 的最新帮助。它过时了吗?有更好的图书馆吗?

4

0 回答 0