2009-10-08 2 views
1

Я хочу войти на сайт (http://www.orkut.com) черезапач HtmlUnit ..... Проблема в обработке JavaScript

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

Может ли кто-нибудь помочь мне в этом.

Примечание: Я БУДУ ПЛАТИТЬ ЗА РЕШЕНИЕ

ответ

2

According to their site поддержка JavaScript обеспечивается Mozilla Rhino, поэтому, возможно, все, что вам нужно, чтобы добавить его в свой путь к классам (и, возможно, поиграться с некоторыми конфигурациями).

Кроме того, HtmlUnit имеет professional support

+0

Я уже разместил мои проблемы в список рассылки HtmlUnit ([email protected]) и HtmlUnit профессиональной поддержки (http://www.efficient-webtesting.com) Я установил Rhino Mozzilla и добавил его в свой путь к классам. Не могли бы вы рассказать мне, какую конфигурацию мне нужно изменить. –

+0

Установите параметр com.gargoylesoftware.htmlunit.javascript looger на уровень отладки, чтобы вы могли видеть, что выполняется. –

Смежные вопросы