我想使用 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>
如何获取该场景下的内容?
最佳答案
试试这个:
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();
}
}
关于java - 如何使用 HtmlUnit 获取特定 iframe 的内容。 iframe 没有名称,但有 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35052813/