Получение данных с веб-сайта после того, как Javascript первоначально выполнялся с помощью HtmlUnit
Я пишу свою дипломную работу по играм судоку. Для этого мне нужно много Судоку и подумать о написании программы, чтобы загрузить ее. Для начала я хочу сосредоточиться на одной странице: http://view.websudoku.com/?
идентификаторы элементов td, которые мне нужны, это от '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. Это устарело? Есть ли лучшие библиотеки?