Получить измененный HTML-контент после его обновления Javascript? (HtmlUnit)
У меня возникли проблемы с выяснением, как получить содержимое некоторого HTMLпосле Javascript обновил его.
В частности, я пытаюсь получить текущее время отГлавные часы Военно-морской обсерватории США, Имеетh1
элемент сID
изUSNOclk
в котором отображается текущее время.
Когда страница загружается в первый раз, этот элемент настроен на отображение «Загрузка ...», а затем включается JavaScript и обновляет его до текущего времени с помощью
function showTime()
{
document.getElementById('USNOclk').innerHTML="Loading...<br />";
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null){
document.getElementById('USNOclk').innerHTML="Sorry, browser incapatible. <BR />";
return;
}
refresher = 0;
startResponse = new Date().getTime();
var url="http://tycho.usno.navy.mil/cgi-bin/time.pl?n="+ startResponse;
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
Итак, проблема в том, что я не уверен, как получить обновленное время. Когда я проверяю элемент, я вижу «Загрузка ...» как содержаниеh1
элемент.
Я дважды проверил, что JavaScript включен, и я попытался вызватьwaitForBackgroundJavaScript
функция наwebclient
также надеясь, что это даст время javascript для начала обновления. Однако пока нет успеха.
import com.gargoylesoftware.htmlunit._
import com.gargoylesoftware.htmlunit.html.HtmlPage
object AtomicTime {
def main(args: Array[String]): Unit = {
val url = "http://tycho.usno.navy.mil/what.html"
val client = new WebClient(BrowserVersion.CHROME)
println(client.isJavaScriptEnabled()) // returns true
client.waitForBackgroundJavaScript(10000)
// client.waitForBackgroundJavaScriptStartingBefore(10000) //tried this one too without success
var response: HtmlPage = client.getPage(url)
println(response.asText())
}
}
Как мне запустить JavaScript для обновления HTML?