如何点击按钮并使用HtmlUnit启动javascript

时间:2018-03-07 14:24:10

标签: javascript java htmlunit

我正在尝试使用HtmlUnit创建一个机器人来自动从网站上获取一些产品,我要列出产品,但该网站有几个分支,并且我要更改为我想要的分支,我需要更改选择并单击按钮的值,但在我单击按钮后,我有与以前相同的页面,它不会更改任何内容,它不会返回任何错误或警告,是否有人给我一个手?

        final HtmlPage page = webClient.getPage("url");
        final HtmlSelect select = (HtmlSelect) page.getElementById("s-ch-select-city");

        select.setSelectedAttribute("8", true);

        ScriptResult resultFinal = page.executeJavaScript("document.getElementById('s-ch-change-channel').focus()");
        webClient.waitForBackgroundJavaScript(10000);
        webClient.waitForBackgroundJavaScriptStartingBefore(10000);
        synchronized (page) {
            page.wait(10000);
        }

        Page pageResultFinal = resultFinal.getNewPage();
        HtmlPage pageCascavel = ((HtmlPage) pageResultFinal);

1 个答案:

答案 0 :(得分:0)

无法访问该页面我只能猜测。

尝试替换

Page pageResultFinal = resultFinal.getNewPage();

Page pageResultFinal = page.getEnclosingWindow().getTopWindow().getEnclosedPage();

并检查以记录任何错误。 另外我认为不需要做js的东西。你可以做点什么

page.getElementById("s-ch-change-channel").focus();