【问题标题】:use Htmlunit, doesn't work button click();使用 Htmlunit,按钮 click() 不起作用;
【发布时间】:2013-01-23 07:36:45
【问题描述】:

大家好 :) 我是 HtmlUnit (Java) 的新手。这是我第一次使用 HtmlUnit 的东西。 我在登录网页时遇到了一些问题。

网站的部分来源如下。

    <table>
        <tr>
            <td colspan="2">
                <div class="AlignRight">
                    <div class="Button" id="loginButton">
                        <div class="Left">&nbsp;</div>
                        <div class="Middle"><a href="javascript:submitForm(document.getElementById('localLogin'), 'submit');"><strong>log-in</strong></a></div>
                        <div class="Right">&nbsp;</div>
                    </div>
                </div>
            </td>
        </tr>
    </table>

我写的代码的某些部分在下面,另外我设置了“webClient.setJavaScriptEnabled(true);”已经。

HtmlPage page = (HtmlPage) webClient.getPage("https://************");
            HtmlForm form = page.getFormByName("login");
        HtmlElement button = form.getElementById("loginButton");

                    // Enter login and passwd
                    form.getInputByName("username").setValueAttribute("******");
                    form.getInputByName("password").setValueAttribute("******");
                    page = (HtmlPage) button.click();
                            System.out.println(page.getUrl());
                    System.out.println("Success");

so.. 运行代码后,url 应该像单击按钮后一样更改,但我看不出有任何区别。运行没有错误,只是我看不到更改后的Url..

有什么问题吗? .. 请给我一些建议T_T!在此先感谢:D

【问题讨论】:

    标签: java javascript login htmlunit


    【解决方案1】:

    您可以尝试手动执行 javascript:

       page.executeJavaScript("javascript:submitForm(document.getElementById('localLogin'), 'submit');");
    

    【讨论】:

    • 顺便说一句,你确定提交表单后url会改变吗?
    猜你喜欢
    • 2012-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多