powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Зайти по ссылке. Запустить JS.Обновить. Нолучить Document
3 сообщений из 3, страница 1 из 1
Зайти по ссылке. Запустить JS.Обновить. Нолучить Document
    #39281623
Rustam_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно есть ссылка. нужно достать информацию

Код: java
1.
2.
3.
4.
5.
6.
Document doc = null;
Connection con = Jsoup.connect(cur_url_path);   
             if (con != null){
               con.userAgent(agent).cookie(cookieName, cookieValue).timeout(0);
               doc = Jsoup.parse(new String(con.execute().bodyAsBytes(), charset));  
             } 



Появилась необходимость информацию получать с помощью выполнения JavaScript. Скрипт выполняет заполнения одного поля, затем submit.

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
       ScriptEngineManager manager = new ScriptEngineManager();
       ScriptEngine javaScriptEngine= manager.getEngineByName("JavaScript");
         try {
             javaScriptEngine.eval("document.getElementsByClassName('search-form-input org_search')[0].value = 111111111111;");
             javaScriptEngine.eval("document.forms[2].submit();");
         } catch (ScriptException ex) {
             Logger.getLogger(ParseFromKartotekaRu.class.getName()).log(Level.SEVERE, null, ex);
         }



После обновления страницы. необходимо взять обновленную информацию, как это сделать?

P.S. Небольшая каша в голове. Разберусь со всем обязательно, но сейчас вопрос Как сделать? Есть подозрение, что JavaScript и не нужен.
...
Рейтинг: 0 / 0
Зайти по ссылке. Запустить JS.Обновить. Нолучить Document
    #39281632
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScriptEngineManager ничего не знает про DOM, который нужно построить их HTML и про DHTML API, который реализован в браузерах.
Ваш подход слишком наивен.
Используйте Jsoup API для поиска значений в HTML
http://stackoverflow.com/questions/20116098/how-select-classes-in-jsoup-parsing

Сабмит формы придется реализовывать самостоятельным формированием запроса.
http://stackoverflow.com/a/23320774

Проблема в том что вам нужно найти и перенести все параметры формы, чтобы создать аналогичный запрос. А возможно ещё и заголовки. Поэтому есть смысл проанализировать HTTP протокол между клиентом и сервером и повторить его, а не пытаться отправить форму.


Альтернативным подходом для вас может быть Selenium. Он умеет всё что вы хотите. Но он работает с браузером и в связи с этим слегка тяжеловесен.
...
Рейтинг: 0 / 0
Зайти по ссылке. Запустить JS.Обновить. Нолучить Document
    #39281650
Rustam_P
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, огромное спасибо за ответ, пойду читать/изучать.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Зайти по ссылке. Запустить JS.Обновить. Нолучить Document
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]