java - 如何使用 HtmlUnit 获取特定 iframe 的内容。 iframe 没有名称,但有 ID

标签 java ajax iframe htmlunit

我想使用 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/

相关文章:

java - 初学者Java android studio错误

javascript - 通过 ajax jquery 调用向服务器发送参数

css - 子div的高度(包含iframe) - 响应问题

html - 将响应式 iframe div 类添加到 3 列 float div 布局

java - 可调用类给出错误 : doPing is not abstract and does not override abstract method call()?

java 如何创建任意类的对象

java - 如何让 Gson 的单转义与 Javascript 的特殊字符和符号的双转义一起使用?

javascript - MVC4 客户端验证和 ajax

c# - ajax在asp.net中的使用

reactjs - 在React应用程序中使用iframe标签与本地html文件