我在 javascript更新后弄清楚如何获取某些HTML的内容时遇到了一些麻烦.
具体来说,我正试图从美国海军天文台主时钟获取当前时间.它有一个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);
}
Run Code Online (Sandbox Code Playgroud)
所以,问题是我不知道如何获得更新的时间.当我检查元素时,我看到"正在加载..."作为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) …Run Code Online (Sandbox Code Playgroud)