我想使用HtmlUnit获取特定iframe的内容。从其中一篇文章(HtmlUnit can't get the js / ajax added of IFRAME)我得知我可以使用这段代码:
HtmlPage currentPage = (HtmlPage)webClient.getWebWindowByName("Frame Name").getEnclosedPage();
但问题是iframe没有名字。我试图访问的iframe有id而不是名字。像这样:
<iframe class="text" id="frameContent" style="width:548px;" frameborder="0" src="" tabindex="-1" allowtransparency="true" scrolling="no" height="210"></iframe>
如何获取此方案中的内容?
答案 0 :(得分:1)
试试这个:
HtmlPage page = client.getPage("http://example.com/");
List<FrameWindow> frames = page.getFrames();
for (FrameWindow frame : frames) {
if (frame.getFrameElement().getId().equals("frameContent")) {
page = (HtmlPage) frame.getEnclosedPage();
}
}