我刚刚开始学习htmlunit http://htmlunit.sourceforge.net/by gargoylesoftware,我有一个问题。
页面上有一个 iframe,单击按钮后会出现该 iframe。当我尝试按名称获取此 iframe 时,我得到一个ElementNotFoundException
。我也尝试过page.getFrames()
它返回帧,但没有我正在寻找的帧或者它是空白的。所以看起来 js/ajax 没有更新它。我在 jcpenny(dot)com 上工作,当我尝试从“我的包”页面“结账”时出现问题
这是我的 WebClient 设置
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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)