1

ウェブサイト( http://www.orkut.com)にログインしたい

com.gargoylesoftware.htmlunit.WebClient

しかし、「送信」ボタンをクリックしても、ログイン後に表示されるはずの期待されるページに移動しません。代わりに、同じログインページを再度返します。明確な意味で、ログインにはいくつかの問題があります。javascriptがないサイトで同じコードを試してみると、うまく機能するので、スクリプトを処理できないと思います。

私は次のコードを使用しようとしています:

public static void main(String[] args) {
    final WebClient webClient = new WebClient();
    try {
        HtmlPage loginPage = webClient.getPage(new URL("https://www.google.com/accounts/ServiceLogin?service=orkut&hl=en-US&rm=false&continue=http%3A%2F%2Fwww.orkut.com%2FRedirLogin%3Fmsg%3D0%26page%3Dhttp%253A%252F%252Fwww.orkut.co.in%252FHome.aspx&cd=IN&passive=true&skipvpage=true&sendvemail=false"));
        System.out.println(loginPage.getTextContent());
        List<HtmlForm> forms = loginPage.getForms();
        HtmlForm loginForm = forms.get(0);
        HtmlInput username = loginForm.getInputByName("Email");
        HtmlInput password = loginForm.getInputByName("Passwd");
        HtmlInput submit = loginForm.getInputByName("signIn");
        username.setNodeValue("username");
        password.setNodeValue("password");
        HtmlPage homePage = submit.click();
        Thread.sleep(10 * 1000);
        System.out.println(homePage.getTextContent());
    }catch(Exception ex) {
        ex.printStackTrace();
    }
}

「送信」ボタンをクリックすると、実際には最初にこの関数が呼び出されます

onsubmit="return(gaia_onLoginSubmit());"

以下のフォームの属性として指定

<form id="gaia_loginform" action="https://www.google.com/accounts/ServiceLoginAuth?service=orkut" method="post"
    onsubmit="return(gaia_onLoginSubmit());">

誰かがこれで私を助けることができますか?

注:私は解決策の代金を支払います

4

1 に答える 1

2

彼らのサイトによると、JavaScriptのサポートはMozilla Rhinoによって提供されているので、おそらく必要なのはそれをクラスパスに追加することだけです(そしておそらくいくつかの構成をいじるだけです)。

また、HtmlUnitには専門的なサポートがあります

于 2009-10-08T12:51:31.053 に答える