如何使用HtmlPage对象获取确切的HTML(在执行JS函数之后)?

时间:2012-05-11 17:16:56

标签: htmlunit browser-automation

我正在使用Htmlunit(浏览器自动化/测试工具)从URL获取网页,为某些HTML元素(如textinput等)添加值,然后我想使用以下语句自动执行"单击操作: BR />

`HtmlPage page2 = button.click();`

然后我想在默认浏览器上显示响应。但。我要求的HTML(来自URL)是带有javascript函数的RAW HTML,在执行时,调用一些webservices,之后才会生成确切的HTML(在浏览器上呈现的HTML)。
因此,我想知道如何在我的java程序中执行这些JS函数,以便我可以获得正确的HTML元素,我正在寻找...
这是我的代码:

final WebClient webClient = new WebClient();
webClient.setJavaScriptEnabled(true);
// Get the first page
final HtmlPage page1 = (HtmlPage)webClient.getPage("http://some URL");
HtmlPage对象page1具有原始JS功能..
提前感谢... !!!

1 个答案:

答案 0 :(得分:0)

您可以使用WebWindowListener:

    WebWindowListener listener = new WebWindowAdapter() {

        @Override
        public void webWindowOpened(WebWindowEvent event) {
            Page newPage = event.getNewPage();
        }

        @Override
        public void webWindowContentChanged(WebWindowEvent event)
        {
            Page generatedPage = event.getNewPage();
        }
    }

    webClient.addWebWindowListener(listener);