单击使用htmlunit的javascript锚点似乎不起作用

单击使用htmlunit的javascript锚点似乎不起作用,第1张

概述我正在使用htmlunit自动浏览网站. 这是问题所在: 我想点击一个锚点,以显示给定表格的新页面. 这是锚点: <a href="javascript:__doPostBack('GridView1','Page$7')">7</a> 这是我的代码: final HtmlAnchor a = page2.getAnchorByText("7");HtmlPage page3 = a.click 我正在使用HTMLunit自动浏览网站.
这是问题所在:

我想点击一个锚点,以显示给定表格的新页面.

这是锚点:

<a href="JavaScript:__doPostBack('GrIDVIEw1','Page')">7</a>

这是我的代码:

final HTMLAnchor a = page2.getAnchorByText("7");HTMLPage page3 = a.click();System.out.println(page2.getWebResponse().getContentAsstring())System.out.println(page3.getWebResponse().getContentAsstring());

我没有任何错误消息.当我比较我的打印时,它们是相同的,但它们不应该是,因为我只是点击一个锚点.首先打印输出应该显示表格的某个页面,第二个打印输出另一个页面.

stackoverflow post 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;    }});
总结

以上是内存溢出为你收集整理的单击使用htmlunit的javascript锚点似乎不起作用全部内容,希望文章能够帮你解决单击使用htmlunit的javascript锚点似乎不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1063381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存