HTMLUnit不等待Javascript

HTMLUnit不等待Javascript,第1张

概述我有一个基于GWT的页面,我想使用HtmlUnit为它创建一个HTML快照。 该页面使用产品上的Ajax / JavaScript信息加载,因此大约1秒钟内有一个“加载…”消息,然后出现该内容。 问题是HtmlUnit似乎没有捕获信息,所有我得到的是“加载…”跨度。 以下是HtmlUnit的实验代码,我试图给予足够的时间等待加载数据,但是似乎并没有改变任何东西,而且我仍然无法捕获GWT javas 我有一个基于GWT的页面,我想使用HTMLUnit为它创建一个HTML快照。
该页面使用产品上的AJAX / JavaScript信息加载,因此大约1秒钟内有一个“加载…”消息,然后出现该内容。

问题是HTMLUnit似乎没有捕获信息,所有我得到的是“加载…”跨度。

以下是HTMLUnit的实验代码,我试图给予足够的时间等待加载数据,但是似乎并没有改变任何东西,而且我仍然无法捕获GWT JavaScript加载的数据。

WebClIEnt webClIEnt = new WebClIEnt();        webClIEnt.setJavaScriptEnabled(true);        webClIEnt.setThrowExceptionOnScriptError(false);        webClIEnt.setAJAXController(new NicelyResynchronizingAJAXController());         WebRequest request = new WebRequest(new URL("<my_url>"));        HTMLPage page = webClIEnt.getPage(request);        int i = webClIEnt.waitForBackgroundJavaScript(1000);        while (i > 0)        {            i = webClIEnt.waitForBackgroundJavaScript(1000);            if (i == 0)            {                break;            }            synchronized (page)             {                System.out.println("wait");                page.wait(500);            }        }        webClIEnt.getAJAXController().processSynchron(page,request,false);        System.out.println(page.asXml());

有任何想法吗…?

解决方法 谢谢你的回应。
我其实应该早点报道,我已经找到了解决方案。
显然,用FF初始化WebClIEnt时:
WebClIEnt webClIEnt = new WebClIEnt(browserVersion.firefox_3_6);

它似乎正在工作。当使用默认构造函数初始化WebClIEnt时,它默认使用ie7,我猜FF对AJAX有更好的支持,是推荐使用的模拟器。

总结

以上是内存溢出为你收集整理的HTMLUnit不等待Javascript全部内容,希望文章能够帮你解决HTMLUnit不等待Javascript所遇到的程序开发问题。

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

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

原文地址:https://54852.com/web/1116423.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存