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