javascript が HTML を更新した後にHTML のコンテンツを取得する方法がわかりません。
具体的には、 US Naval Observatory Master Clockから現在の時刻を取得しようとしています。現在の時刻を表示するの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が有効になっていることを再確認しました。また、javascriptが更新を開始する時間を与えることを期待して、waitForBackgroundJavaScript
関数を呼び出してみました。webclient
しかし、まだ成功していません。
私の現在のコード:
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 を更新するにはどうすればよいですか?