Java HtmlUnit可以';我无法在IFRAME中添加js/ajax

Java HtmlUnit可以';我无法在IFRAME中添加js/ajax,java,javascript,ajax,iframe,htmlunit,Java,Javascript,Ajax,Iframe,Htmlunit,我刚开始用滴水怪软件学习,我遇到了一个问题。 页面上有一个iframe,单击按钮后显示。当我尝试按名称获取这个iframe时,我得到一个ElementNotFoundException。我还尝试了page.getFrames(),它返回了帧,但没有我要查找的帧,或者它是空的。看来js/ajax没有更新它。我在jcpenny(dot)com上工作,当我试图从“我的包”页面“结账”时,问题出现了 这是我的网络客户端设置 BrowserVersion bv = BrowserVersion.CHROM

我刚开始用滴水怪软件学习,我遇到了一个问题。 页面上有一个iframe,单击按钮后显示。当我尝试按名称获取这个iframe时,我得到一个
ElementNotFoundException
。我还尝试了
page.getFrames()
,它返回了帧,但没有我要查找的帧,或者它是空的。看来js/ajax没有更新它。我在jcpenny(dot)com上工作,当我试图从“我的包”页面“结账”时,问题出现了 这是我的网络客户端设置

BrowserVersion bv = BrowserVersion.CHROME_16;
bv.setUserAgent("Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");
CookieManager cm = new CookieManager();
cm.clearCookies();
cm.setCookiesEnabled(true);
WebClient webClient = new WebClient(bv);
webClient.setCookieManager(cm);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
webClient.setJavaScriptTimeout(15000);
webClient.setCssErrorHandler(new SilentCssErrorHandler());
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setThrowExceptionOnScriptError(false);
webClient.waitForBackgroundJavaScript(15000);
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setRedirectEnabled(true);
webClient.getOptions().setUseInsecureSSL(true);
webClient.setRefreshHandler(new ThreadedRefreshHandler());

这可能是一个迟来的答案,但对将来的其他人来说是有用的

HtmlPage currentPage = (HtmlPage)webClient.getWebWindowByName("Frame Name").getEnclosedPage();

希望这有助于识别iframe。

如果iframe没有名称怎么办?我尝试访问的iframe没有id名称。