Domanda

Voglio accedere a un sito web ( http://www.orkut.com ) attraverso

com.gargoylesoftware.htmlunit.WebClient

Ma quando clicco sul pulsante "Invia", la cosa non mi prende alla pagina atteso che dovrebbe venire dopo il login. Invece restituisce nuovamente la stessa pagina di login. Nel senso chiaro, c'è qualche problema in login. Quando provo lo stesso codice con i siti che doen't avere javascript, funziona benissimo quindi penso che io non sono in grado di gestire gli script.

Sto cercando utilizzando il codice follwoing:

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();
    }
}

Quando facciamo clic sul pulsante "Invia", nel vero e proprio si chiama prima di questa funzione

onsubmit="return(gaia_onLoginSubmit());"

specificata come attributo del modulo sottostante

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

Qualcuno mi può aiutare in questo.

NOTA: Pagherò PER LA SOLUZIONE

È stato utile?

Soluzione

Secondo il loro sito il supporto JavaScript è fornito da Mozilla Rhino , quindi forse tutto ciò che serve è quello di aggiungere al classpath (e forse armeggiare con alcune configurazioni).

Inoltre, HtmlUnit ha supporto professionale

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top