2012-01-04 7 views
3

Как выполнить щелчок по кнопке javascript с помощью Jsoup?Jsoup javascript button click

String html = Jsoup.connect(url) 
       .followRedirects(true) 
       .data("login_name", username) 
       .data("password", userpassword) 
       .method(Method.POST).get().html(); 

Это код, который я использовал для установки имени пользователя и пароля на веб-сайте, однако, когда я захватить HTML, это дает мне HTML-код страницы с поля страницы заполнены, а не после входа в систему. Это должно означать, что Jsoup просто заполнил поля, но не ввел меня в систему. Как бы я это сделал? Кроме того, кнопка входа в систему не имеет элемента id и не имеет элемента имени. Он имеет только javascript. Извините, если я не понимаю, я новичок в этом. Вот HTML код формы:

<form name="form" id="form" method="POST" action="/portal/login?etarget=login_form" autocomplete="off"> 

Это HTML код для кнопки входа в систему:

<a href="javascript:document.form.event_override.value='login';document.form.submit();" class="btn_css">  

Как бы «нажать» кнопку для входа с помощью Jsoup? Кроме того, я попытался использовать метод .post() вместо метода .method (Method.POST), однако, когда я это сделал, моя программа не работала и передала мне это сообщение: «Ошибка: 400 URL-адрес загрузки ошибок»

Также у меня нет собственного сайта, и я использую это в родном приложении, которое я создаю для Android.

+0

Вы когда-нибудь получали отклик на это? – Ethan

ответ

0

При передаче URL-адреса в методе подключения вместо передачи URL-адреса страницы пройдите ссылку на домашней странице.

Document doc = Jsoup.connect("http://www.website.com/home.php") 
    .data("email", "myemailid") 
    .data("pass", "mypassword") 
    // and other fields which are being passed in post request. 
    .userAgent("Mozilla") 
    .post(); 

Попробуйте это, и вы получите свой результат.

+0

Элементы 'login_name' и 'password' не находятся на главной странице. Я пробовал это, но метод .post() снова дал мне ошибку «Ошибка загрузки: 400 URL» –