js 变更 html自动更新,通过Javascript更新后获取更改后的HTML内容?(htmlunit)

我在弄清楚javascript更新后如何获取某些HTML内容时遇到了一些麻烦。

具体来说,我正在尝试从美国海军天文台总时钟获取当前时间。它有一个h1与元件ID的USNOclk,其中它显示当前时间。

首次加载页面时,此元素设置为显示“正在加载...”,然后javascript启动,并通过来将其更新为当前时间

function showTime()

{

document.getElementById('USNOclk').innerHTML="Loading...
";

xmlHttp=GetXmlHttpObject();

if (xmlHttp==null){

document.getElementById('USNOclk').innerHTML="Sorry, browser incapatible.
";

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?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值