HtmlUnit - 使用javascript执行按钮

时间:2015-02-27 07:17:04

标签: javascript button click htmlunit

我想从网站中提取一些信息。为了做到这一点,我使用HtmlUnit来模拟一些点击。

网站是:http://www.sixt.com/car-rental/

我想在文本字段中设置一个特定值,即" 70629"然后单击下面的按钮。网站上的按钮执行一些javascript。

我已经尝试了所有内容并阅读了不同的帖子(也在stackoverflow上),但似乎没有任何效果:/

到目前为止我的代码:

    WebClient webClient = new WebClient(BrowserVersion.FIREFOX_24);
    webClient.getCookieManager().setCookiesEnabled(true);
    webClient.getOptions().setJavaScriptEnabled(true);
    webClient.getOptions().setThrowExceptionOnScriptError(false);

    HtmlPage page;
    try {
        page = webClient.getPage(SIXT_ADDRESS);

        //checking a checkbox
        HtmlInput checkbox0 = (HtmlInput) page.getElementById("sx-branch-search-panel-option_F");
        checkbox0.click();

        //setting input for textfield
        HtmlTextInput textField1 = (HtmlTextInput) page.getElementById("i-mf__inputfield");
        textField1.setValueAttribute("70629");

        //load new page through button click
        HtmlElement theElement2 = (HtmlElement) page.getElementById("submit_button");
        page = theElement2.click();

        System.out.println(page.asText());

为什么输出仍会显示上述网站的内容,而不是新页面? (设置了文本字段值和复选框!)。

我注意到了

    webClient.waitForBackgroundJavaScript(1000);

将删除输出中的文本字段值(" 70629")。

非常感谢任何帮助!

0 个答案:

没有答案