我想使用com.gargoylesoftware.htmlunit.WebClient访问嵌入式iframe的内部内容:

<html>
<body>
<iframe...>
    #document
    <html>
    <body>
        ...
        <input name="myinput" />
    </body
</iframe>
</body>
</html>


我已经可以使用iframe来获取:

HtmlInlineFrame iframe = (HtmlInlineFrame) page.getElementsByTagName("iframe").get(0);


现在,我想获取输入元素。但是即使列出任何input元素也只显示一个空列表:

NodeList inputs = iframe.getElementsByTagName("input");


那么,这里可能出什么问题了?如何访问embedded iframe的内部?

最佳答案

尝试

HtmlInlineFrame iframe = (HtmlInlineFrame) page.getElementsByTagName("iframe").get(0);
HtmlPage innerPage = (HtmlPage) iframe.getEnclosedPage();
NodeList inputs = innerPage.getElementsByTagName("input");

10-08 00:45