Erhalten Sie den geänderten HTML-Inhalt, nachdem er von Javascript aktualisiert wurde? (htmlunit)

Ich habe einige Probleme, herauszufinden, wie ich den Inhalt von HTML erhalten kannnach dem Javascript hat es aktualisiert.

Insbesondere versuche ich, die aktuelle Zeit von zu erhaltenUS Naval Observatory Master Clock. Es hat eineh1 Element mit derID vonUSNOclk in dem es die aktuelle Zeit anzeigt.

Wenn die Seite zum ersten Mal geladen wird, wird in diesem Element "Loading ..." angezeigt. Anschließend wird Javascript aktiviert und aktualisiert

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);
    }  

Das Problem ist also, dass ich nicht sicher bin, wie ich die aktualisierte Zeit erhalten soll. Wenn ich das Element überprüfe, sehe ich das "Laden ..." als Inhalt desh1 Element.

Ich habe überprüft, ob Javascript aktiviert ist, und ich habe versucht, die anzurufenwaitForBackgroundJavaScript Funktion auf derwebclient in der hoffnung, dass es dem javascript zeit geben würde, mit der aktualisierung der sachen zu beginnen. Bisher jedoch noch kein Erfolg.

Mein aktueller Code:
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())
  }
}

Wie starte ich das Javascript, um das HTML zu aktualisieren?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage