如何使用htmlunit驱动程序访问嵌入式iframe元素?

时间:2017-11-17 16:02:31

标签: java htmlunit htmlunit-driver

我想使用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的内部?

1 个答案:

答案 0 :(得分:1)

尝试

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