html 手机a标签点不动,htmlunit单击javascript a标签不起作用

我正在使用htmlunit自动浏览网站。

这是问题所在:

我想单击一个 anchor 以显示给定表的新页面。

这是 anchor :

7

这是我的代码:

final HtmlAnchor a = page2.getAnchorByText("7");

HtmlPage page3 = a.click();

System.out.println(page2.getWebResponse().getContentAsString())

System.out.println(page3.getWebResponse().getContentAsString());

我没有任何错误信息。当我比较打印输出时,它们是相同的,但实际上不应该如此,因为我只是单击了一个 anchor 。第一个打印输出应显示表格的特定页面,第二个打印输出另一页。

stackoverflow发布struggling to click on link within htmlunit提出了一个非常类似的问题,但是在我的情况下,他的解决方案(将浏览器版本设置为webclient)似乎不起作用。

最佳答案

也许您需要先等待javascript执行并加载。我建议使用以下命令:

webClient.waitForBackgroundJavaScript(1000);

甚至:

JavaScriptJobManager manager = page.getEnclosingWindow().getJobManager();

while (manager.getJobCount() > 0) {

Thread.sleep(100);

}

还有另一种选择:

webClient.setAjaxController(new NicelyResynchronizingAjaxController());

webClient.setAjaxController(new AjaxController(){

@Override

public boolean processSynchron(HtmlPage page, WebRequest request, boolean async)

{

return true;

}

});

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值