Программно нажмите кнопку веб-страницы

Как программно нажать кнопку веб-страницы в Java?

Учитывая эту кнопку:

Button

В Javascript это будет работать следующим образом:

 var newWin = window.open(siteYouHaveAccessTo); newWin.document.getElementById('titlebutton').click(); 

Мне было интересно, как я буду делать это на Java, а не на Javascript (есть ли способ сделать это с помощью Java в одиночку или мне нужно импортировать / использовать Javascript?).

Редактировать:

Нажатие кнопки приведет к вызову функции, называемой setText (). Я не уверен, как отправить подобный запрос, как эта функция? Помогло бы мне, если бы я вставил код функции?

Вы не можете «программно» нажимать кнопку только с помощью Java, поэтому мы используем JavaScript. Если вы хотите получить контроль над браузером, например, нажатием кнопок и заполнением текстовых полей, вам придется использовать инструмент автоматизации. Инструментом автоматизации, использующим Java, является Selenium. Обычно это используется для автоматизации тестирования, но будет делать то, что вы хотите.

См. http://docs.seleniumhq.org/

Я не уверен, что это то, что вы ищете, но если вы хотите сделать это просто сделать HTTP-запрос в Java, это должно сделать трюк:

 HttpURLConnection urlConnection = null; URL urlToRequest = new URL("http://yoursite.com/yourpage?key=val&key1=val1"); urlConnection = (HttpURLConnection) urlToRequest.openConnection(); urlConnection.setConnectTimeout(CONN_TIMEOUT); urlConnection.setReadTimeout(READ_TIMEOUT); // handle issues int statusCode = urlConnection.getResponseCode(); if (statusCode == HttpURLConnection.HTTP_UNAUTHORIZED) { // handle unauthorized (if service requires user login) } else if (statusCode != HttpURLConnection.HTTP_OK) { // handle any other errors, like 404, 500,.. } InputStream in = new BufferedInputStream(urlConnection.getInputStream()); // Process response 

Замените константы тайм-аута на свои собственные значения и URL-адрес, соответствующий URL вашего сайта. Вы можете отправлять любые данные, которые вы хотите отправить, нажав кнопку в качестве параметров запроса в URL-адресе в виде пар ключ / значение.

если вы ищете автоматизацию браузера, можете использовать selenium или java.awt.Robot

Робот может отправлять «клики» в ОС. использовали его вместе с скриптами vbs, чтобы сначала убедиться в том, что конкретное окно имеет фокус, а затем отправить текст и клики и, наконец, сохранить результаты … не очень хорошо, как если бы страница меняла вещи, то вам нужно внести коррективы. Но человек, которого я это сделал, использовал его в течение 4 лет.