Попробуйте HtmlUnit
HtmlUnit - это браузер без графического интерфейса для Программы на Java ». Моделирует HTML. документы и предоставляет API, который позволяет открывать страницы, заполнять формы, ссылки для кликов и т. д. точно так же, как вы делаете в своем "обычном" браузере.
Пример кода для отправки формы:
@Test
public void submittingForm() throws Exception {
final WebClient webClient = new WebClient();
// Get the first page
final HtmlPage page1 = webClient.getPage("http://some_url");
// Get the form that we are dealing with and within that form,
// find the submit button and the field that we want to change.
final HtmlForm form = page1.getFormByName("myform");
final HtmlSubmitInput button = form.getInputByName("submitbutton");
final HtmlTextInput textField = form.getInputByName("userid");
// Change the value of the text field
textField.setValueAttribute("root");
// Now submit the form by clicking the button and get back the second page.
final HtmlPage page2 = button.click();
webClient.closeAllWindows();
}
Для получения дополнительной информации проверьте: http://htmlunit.sourceforge.net/gettingStarted.html
Да:
java.net.URL # openConnection ()
позволит вам делать http-запросы и получать http-ответы
Apache HttpComponents - это библиотека, которая упрощает работу с HTTP.
Взгляните на проект apache HttpClient или, если вам нужно запустить Javascript на странице, попробуйте HttpUnit .
Когда вы нажимаете кнопку , обычно вы выполняете запрос через метод HTTP POST, поэтому вам следует использовать HttpClient для обработки запроса и HtmlParser для обработки страницу ответа с нужной строкой.
Очень простой способ сделать это — использовать HtmlUnit здесь:
http://htmlunit.sourceforge.net/
и то, что вы хотите сделать, может быть таким простым, как:
@Test
public void homePage() throws Exception {
final WebClient webClient = new WebClient();
final HtmlPage page = webClient.getPage("http://htmlunit.sourceforge.net");
assertEquals("HtmlUnit - Welcome to HtmlUnit", page.getTitleText());
}