我正在写关于数独游戏的学士论文。为此我需要很多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的最新帮助。它已经过时了吗?有没有更好的图书馆?