Как загрузить «сгенерированный источник» с панели инструментов веб-разработчика в Firefox - PullRequest
1 голос
/ 16 декабря 2011

Я хочу, чтобы моя java-программа видела «сгенерированный источник» веб-страницы на панели инструментов веб-разработчика: https://addons.mozilla.org/en-US/firefox/addon/web-developer/ в FireFox, находящемся в меню «Просмотр источника», а не просто фактический источник HTML, который регулярно возвращает себя через сеть Java:

HttpURLconnection.getInputStream(); 

Может ли Java-программа сделать это или, по крайней мере, делегировать задачу другому приложению на том же компьютере, написанном на другом объекте (javascript), который встроен в браузер?

Ответы [ 2 ]

2 голосов
/ 16 декабря 2011

селен должен быть в состоянии сделать это. Я использовал это давным-давно, поэтому я не помню, как именно. но это в основном плагин для браузера и некоторый код сервера, который связывается с плагином. Вы можете общаться через сервер Java с сервером и контролировать содержимое браузера, а также получать все данные из DOM.

EDIT: в зависимости от того, нужен ли «настоящий» браузер, вы также можете использовать htmlunit , который в основном является браузером без графического интерфейса в Java.

1 голос
/ 16 декабря 2011

Если под «сгенерированным источником» вы подразумеваете полный DOM работающей веб-страницы, включая элементы, которые были добавлены, удалены или изменены с помощью javascript на этой странице, то нет способа сделать это без использования полноценного браузера. механизм, который сначала отображает страницу, а затем связывается с этой страницей или механизмом, чтобы получить HTML-код для сгенерированной страницы.

Вы не могли бы сделать это только с помощью Java.

Вы можете поместить javascript на саму веб-страницу, которая будет извлекать innerHTML всей веб-страницы после ее полной генерации, а затем использовать ajax-вызов для отправки этого на ваш сервер. Вам придется оставаться в рамках политики того же источника (которая не позволяет вам совершать ajax-вызовы в домены, отличные от того, откуда пришла веб-страница хоста).

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

...